文档详情

Java程序设计技能教程 彭德林 JAVA程序设计技能教程第9章新.ppt

发布:2015-12-16约1.83万字共57页下载文档
文本预览下载声明
Java程序设计技能教程 主编 彭德林 李德有 中国水利水电出版社 第9章 图形用户界面设计 9.1 任务一 了解与图形处理相关包 9.1.1 java.awt包 【例9-1】创建一个AWT窗体。 import?java.awt.*; public?class?exa9_1? { ?public?static?void?main(String?args[]) ?{??Frame?f=new?Frame(This?is?a?window!); ?? f.setLocation(100,200); ? ?f.setSize(200,400); ?? f.setBackground(Color.red); ?? ?FlowLayout?fl=new?FlowLayout(); ? ?f.setLayout(fl); ? ?Button?b1=new?Button(Ok!); ?? f.add(b1); ?? Button?b2=new?Button(Cancle!); ?? f.add(b2); ? ?f.setVisible(true);?} } 说明: (1)、任何基于AWT包的传统窗体程序都必须导入相应的AWT包以方便编程。 (2)、对于默认的新建窗体,其左上角总是对齐屏幕的左上角,大小只能显示出标题栏,所以,必须设置常见的用于显示的属性。 (3)、对于默认的新建窗体,并不直接显示,要想使窗体显示出来,必须设置visible属性为真。 (4)、构造函数中的参数可以用于设置窗体的标题,也可以使用setTitle()方法后设置。 (5)、添加组件的方法 add(Component),如:add(button1)。 9.1.2 java.swing包 【例9-2】创建一个Swing窗体。 import?javax.swing.*; import?java.awt.*; public?class?exa9_2 { ?public?static?void?main(String?args[]) ?{ ??JFrame?f=new?JFrame(This?is?a?window!); ??f.setLocation(100,200); ??f.setSize(200,400); ???FlowLayout?fl=new?FlowLayout(); ??f.getContentPane().setLayout(fl); ??JButton[]?jb=new?JButton[10]; ? 请注意和上述awt窗体的异同点: (1)、导入的包和AWT不一样。 (2)、swing组件类名称和awt组件类名称相比,往往都是多个大写的“J”开头。 (3)、不再直接向窗体添加组件,而是通过内容面板间接添加组件,所以,在添加组件的时候,需要取得当前窗体的内容面板。 (4)、传统AWT组件的一些方法不再鼓励使用,相反,可以使用具有相似功能的新的方法,如按钮的setLabel()方法被setText()取代,当然,传统方法仍然可以使用。 (5)、在Swing引入setDefaultCloseOperation()之前,AWT关闭窗口必须使用程序监视窗口,获得相关操作并处理和做出响应。 9.1.3 java.awt.event包 设计图形用户界面的目的是为了方便用户与计算机进行交流,比如当用户单击命令按钮时,希望系统能完成一个动作,实现某种功能,这些交互的功能是由后台的事件处理接口来完成的,java.awt.event包就提供处理由 AWT 组件所激发的各类事件的接口和类。有关 AWT 事件模型的细节,请参见 java.awt.AWTEvent 类。事件由事件源所激发,向事件源注册的事件侦听器可接收有关特定事件类的通知,此包定义了事件和事件侦听器,以及事件侦听器适配器,它是让事件侦听器的编写过程更为轻松的便捷类。 Swing组件类型很多,按功能分类如下: (1)、顶层容器:有JFrame(框架), JWindow(窗体),JDialog(对话框)和JApplet(小应用程序)。它们属于swing中的四个重量级组件。顶层容器的重要性在于,除了Menubar所有的GUI组件都需要被包含在顶层容器的一个默认容器ContentPane中。 (2)、中间容器(又叫简单容器):有JPanel(面板),JSplitPane(拆分面板),JToolBar(工具栏),JScrollPane(滚动面板)和JTabbedPane(页签式面板)等
显示全部
相似文档