图形界面应用程序课件_第1页
图形界面应用程序课件_第2页
图形界面应用程序课件_第3页
图形界面应用程序课件_第4页
图形界面应用程序课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图形界面应用程序本章的主要内容Java的图形用户界面中容器的概念和用法如何使用布局管理器来获得期望的动态布局事件处理相关概念GUI(graphical user interface)AWT(Abstract Windows Toolkit)提供基本的GUI组件,用在所有的Java applets及应用程序中AWT图BorderLayoutObjectGridLayoutFlowLayoutComponentMenuComponentMenuBarMenuItemButtonCheckBoxTextComponentContainerWindowPanelDialogFrame容器可以容纳组件及

2、其他容器,是建立复杂的布局是关键,也是基本的 Container:window、Panelwindow:Frame、Dialog独立于其他容器Panel:确定一个四边形,其它组件可以放入其中 。需包含在其他容器中Frame是Window的子类具有标题和缩放角从组件继承并以add方式添加组件能以字符串规定的标题来创建不可见框架对象将Border Layout当做缺省布局管理器用setLayout方式来改变缺省布局管理器 Frame的创建过程Frame f = new Frame(“TitleName”);f.setSize(500,500);f.setLayout(LayoutManager);

3、f.add(Component);f.setVisible(true);Panel为组件提供空间允许子面板拥有自己的布局管理器以add方法添加组件 Panel的创建过程Panel p = new panel();p.setLayout(LayoutManager);p.add(Component);其他容器.add(p);常用组件按钮(Button)复选框(CheckBox)单选项(heckBoxGroup)下拉列表框(Choice)列表框(List)对话框(Dialog)文件对话框(FileDialog)标签(Label)滚动面板(ScrollPane)单行文本框(TextField)多行文

4、本框(TextArea)菜单(MenuBar、Menu、MenuItem)(不是从component派生)容器布局(Container Layout) 定位组件使用布局管理器每个Container(比如一个Panel或一个Frame)都有一个与它相关的缺省布局管理器,它可以通过调用setLayout()来改变。 中止布局管理器setLayout(null);然后,必须对所有的组件使用setLocation(),setSize()或setBounds(),来将它们定位在容器中。布局管理器 FlowLayoutPanel和Applets的缺省布局管理器 BorderLayoutWindow、Dia

5、log及Frame的缺省管理程序 GridLayoutCardLayoutGridBagLayout布局管理器地使用根据构造器创建布局管理器newsetLayout()为容器添加布局管理器对于某些布局可以在容器地add()方法中指明组件放置地位置FlowLayout构造器 FlowLayout() FlowLayout(intalign) FlowLayout(intalign, inthgap, intvgap)例子ExGui.javaFlowLayout.CENTER FlowLayout.LEADINGFlowLayout.LEFTFlowLayout.RIGHTFlowLayout.T

6、RAILINGBorderLayout构造器: BorderLayout() BorderLayout(inthgap, intvgap)包括五个明显的区域:东、南、西、北、中。 每个方向上只能放一个组件,多者相互覆盖。add(组件,方位)例子ExGui2.javaBorderLayout.NORTH BorderLayout.WESTBorderLayout.CENTERBorderLayout.EAST BorderLayout.SOUTHGridLayout用许多行和列来创建管理程序。然后组件就填充到由管理程序规定的单元中。 构造器: GridLayout() GridLayout(in

7、trows, intcols) GridLayout(introws, intcols, inthgap, intvgap)例子GridEx.java组件1组件1组件1组件1组件1组件1CardLayout构造器:CardLayout( )CardLayout(inthgap, intvgap)add(组件,卡片标签)show(容器,卡片标签)按标签显示相应的卡片例子CardTest.javaGridBagLayout将窗口分成很多网格,然后在网格上划分单元格,指定每个单元格的位置及属性,再将组件放入每个单元格。创建单元格的约束条件GridBagConstraintsGridBagLayout

8、.setConstraints(组件,约束条件)设定组件将来在容器中的位置,然后用add()加入。P147例布局的综合使用使用嵌套容器来完成复杂的布局P149例绘图操作Graphics对象可以进行各种绘图操作paint函数将Graphics对象作为参数,完成各种画图操作paint的执行可通过继承Panel,重写paint()方法并激活来实现各种画图操作。P151例子事件处理什么是事件事件描述发生了什么的对象Event事件源事件的产生器事件处理器接收事件、解释事件并处理用户交互的方法事件委托模型编写事件处理程序的过程根据事件类型实现相应的事件监听器接口,即创建事件处理器是实现接口的类不是接口为事

9、件源注册事件监听器addXXXListener(事件监听器)事件类型 事件对应的接口名称及内含方法表实现事件处理器的另一种方法继承Adapter类多个事件处理器一个控件可注册多个监听器一个类可实现多个监听器接口P160例使用内类和匿名类内类。例10-34匿名类。例10-35色彩、字体与打印色彩Color容器设置前景色、背景色setForeground()和setBackground()字体Fontnew Font(字形,字效,字号);组件添加字体setFont()GraphicsEnvironment.getLocalGraphicsEnvironment()getAllFonts()JFC(

10、Java Foundition Classes)AWTJava2DJava2D是一图形API,它为Java应用程序提供了一套高级的有关二维(2D)图形图像处理的类。 Accessibility用以辅助开发使用非传统输入和输出的应用程序 Drag & Drop提供了Java和本地应用程序之间的互操作性 SwingSwing与AWTSwing是围绕着实现AWT各个部分的API构筑的,即AWT是基础Swing中的大多数组件不象AWT那样使用与平台相关的实现Swing是纯Java代码,移植性较AWT更好,在不同的平台也可以有相同的外观Swing的组件库更全,每个组件的功能更丰富Swing运行效率要比AWT低使用Swing创建GUI导入Swing包import com.sun.java.swing.*顶层容器(JFrame,JApplet,JDialog,和JWindow) 轻质组件(如JButton,JPanel和JMenu) 将Sw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论