绘图板系统(初期)_技术点_java

上传人:第*** 文档编号:34021952 上传时间:2018-02-20 格式:DOC 页数:19 大小:258KB
返回 下载 相关 举报
绘图板系统(初期)_技术点_java_第1页
第1页 / 共19页
绘图板系统(初期)_技术点_java_第2页
第2页 / 共19页
绘图板系统(初期)_技术点_java_第3页
第3页 / 共19页
绘图板系统(初期)_技术点_java_第4页
第4页 / 共19页
绘图板系统(初期)_技术点_java_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《绘图板系统(初期)_技术点_java》由会员分享,可在线阅读,更多相关《绘图板系统(初期)_技术点_java(19页珍藏版)》请在金锄头文库上搜索。

1、绘图板(初期)_JAVA 技术点1绘图板( 初期)JAVA 语言技术点绘图板(初期)_JAVA 技术点2文档信息:文档名称 绘图板系统 JAVA 技术点描述 该文档描述绘图板系统中与功能实现相关的部分 JAVA 技术点负责人 井辉状态 最终版文档变更历史:时间 修改人 章节 描述2010-6-14 井辉 所有章节 创建文档初稿2010-6-15 井辉 所有章节 加入示例说明文档路径:相关文档:文档 路径审核结果:审核人 意见 签名档全体团队 通过绘图板(初期)_JAVA 技术点3目 录简介 .41.1 背景 .41.2 目标 .41.3 技术要点 .41.3.1 JAVA 的事件处理 .41.

2、3.2 布局策略 .81.3.3 类 Vector数组 .91.3.4 类 Color.101.3.5 类 Graphics .111.3.6 类 JToolBar.121.3.7 类 JMenuBar 与类 JMenuItem.131.3.8 类类 ObjectInputStream 与类 ObjectOutputStream .14绘图板(初期)_JAVA 技术点4简介1.1 背景请你设计一个用 JAVA 语言编写的绘图板程序,利用该程序,用户可以绘制各种基本图形,如:矩形、椭圆形、圆形、直线、三角形和五角星形图案。还可以实现不同颜色绘制;在不同位置(鼠标定位)绘制;删除指定的图形集;选择

3、指定的图形集;拷贝、剪贴和粘贴指定的图形集;最后能保存和打开指定格式的图形文件。1.2 目标该系统将使用最新的 JAVA 技术,充分利用 JAVA 技术的特点构造出可扩展、易维护的绘图板系统。该系统将基于微软操作系统平台,充分利用 JAVA 平台的优势,使用JAVA 的视窗应用程序技术和绘图应用程序技术。本文档的目的在于撰写视窗应用程序和绘图应用程序的相关技术要点。1.3 技术要点本次初期项目实训的内容主要涉及到 JAVA 的视窗编程中的“图形组件编程”和“绘图编程”两个内容,并且只涉及到 JAVA 的事件处理机制的技术部分,具体的系统结构、界面设计和系统类图请参阅绘图板_详细设计功能说明书

4、(JAVA).doc文档。本文档只描述了为实现程序功能涉及到的部分 JAVA 语言技术要点,并未涉及技术具体使用方法,这部分需要自学。1.3.1 JAVA 的事件处理1、事件处理模型在事件处理的过程中,主要涉及三类对象 :Event-事件,用户对界面操作在 Java 语言上的描述,以类的形式出现,例如键盘操作对应的事件类是 KeyEvent。Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮 Button。Event handler-事件处理者,接收事件对象并对其进行处理的对象。 绘图板(初期)_JAVA 技术点5图 1 授权处理机制2、事件类(例 SimpleEve

5、nt.java)在 Java 中,每个事件都是某种事件类的对象,可以归为两大类:低级事件和高级事件。低级事件:KeyEvent( 键盘事件:键按下、释放) ;MouseEvent( 鼠标事件:鼠标单击,移动) 。高级事件 :ActionEvent(动作事件:按钮按下,TextField 中按 Enter键等)方法:Object getSource():发生事件的对象。 3、事件监听器类每类事件都有对应的事件监听接口,如: MouseEvent - MouseListener , KeyEvent - KeyListener 等。可以定义一个实现了某个事件监听接口的类,并重写需要的方法,专门负责

6、某种事件处理。例如,定义一个事件监听类实现对键盘按下事件的监听:public class KeyListener implements KeyListener public void keyPressed(KeyEvent ev)/事件处理代码;public void keyReleased(KeyEvent ev) public void keyTyped(KeyEvent ev) 事件处理程序的编写绘图板(初期)_JAVA 技术点61、事件处理程序的编写步骤:首先:定义一个实现了相应事件监听接口的类,如:class KeyHandler implements KeyListener其次:为

7、组件注册监听器对象,如:btn.addKeyListener(new KeyHandler();2、使用类本身实现监听接口例如使用类本身监听 KeyEvent 事件:public class KeyTest implements KeyListenerpublic KeyTest()Button btn = new Button(“Rec”) ; /initbtn.addKeyListener(this);/add listener/事件处理代码 3、定义专门的外部类实现监听接口public class KeyTestpublic KeyTest()Button btn = new Butto

8、n(“Rec”) ;/initbtn.addKeyListener(new KeyHandler(); /add listener绘图板(初期)_JAVA 技术点7class KeyHandler implements KeyListener /事件处理代码 4、用内部类实现监听接口public class KeyTestpublic KeyTest()Button btn = new Button(“Rec”); /initbtn.addKeyListener(new KeyHandler(); /add listenerclass KeyHandler implements KeyList

9、ener/事件处理代码 5、采用事件适配器Java 为一些 Listener 接口提供了适配器类。如 KeyListenerKeyAdapter 等。为用户提供了一种简单的实现监听器的手段,可以缩短程序代码。可以通过继承事件所对应的 Adapter 类,重写需要的方法,而无关的方法不用实现。6、一个组件注册多个监听者由于同一个事件源上可能发生多种事件,因此 Java 采取了授权处理机制。事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。监听器时刻监听着事件源上所有发生的事件类型,一旦该事件类型与自己所负责处理的事件类型一致,就马上进行处理。绘图板(初期)_JAVA 技术点

10、81.3.2 布局策略Java 在 java.awt 包中定义了 5 种布局,它们分别是:FlowLayout、BorderLayout、CardLayout、GridLayout、GridBagLayout。设置布局的格式为:容器对象.setLayout(布局策略);1、浮动布局 FlowLayout浮动布局是按照组件的顺序,用 add 方法将组件从左至右在一行排列,一行放不下时就自动换行。这是系统的默认的布局方式。 其设置的方法为:setLayout(new FlowLayout(); 2、边界布局 BorderLayoutBorderLayout 类把容器划分成 5 个区域,分别标记为“

11、North”、“South”、“West”、“East”和“Center”。 其设置的方法为:setLayout(new BorderLayout();图 2 边界布局1. /* 边界布局示例 */2. import java.awt.*;3. public class Example4_6 extends java.applet.Applet4. 5. public void init()6. setLayout(new BorderLayout();7. /将其他构件加入8. add(East, new Button(东);9. add(South, new Button(南);10. a

12、dd(West, new Button(西);11. add(North, new Button(北);12. add(Center, new Button(中);13. 14. 绘图板(初期)_JAVA 技术点93、网格布局 GridLayoutGridLayout 类以矩形网格形式对容器中的组件进行布局。容器被分成大小相等的单元格,单元格的大小由最大的构件所决定,用 add 方法将组件一行一行地从左至右放置到布局的每个单元格中。其设置的方法为:setLayout(new GridLayout(int row, int cols);row 是网格的行数,cols 是网格的列数。 4、卡片布局 CardLayout这种布局包含几个卡片,在某一时刻只有一个卡片是可见的,而且第一个卡片显示的内容可用自己的布局来管理。 卡片布局设置的方法为: setLayout(new CardLayout();图 31.3.3 类 Vector数组Vect

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号