java swing编程技术

上传人:豆浆 文档编号:25919444 上传时间:2017-12-20 格式:PPTX 页数:183 大小:5.63MB
返回 下载 相关 举报
java swing编程技术_第1页
第1页 / 共183页
java swing编程技术_第2页
第2页 / 共183页
java swing编程技术_第3页
第3页 / 共183页
java swing编程技术_第4页
第4页 / 共183页
java swing编程技术_第5页
第5页 / 共183页
点击查看更多>>
资源描述

《java swing编程技术》由会员分享,可在线阅读,更多相关《java swing编程技术(183页珍藏版)》请在金锄头文库上搜索。

1、第一章 Java Swing入门介绍,轻重之分 Swing与AWT MVC Swing总体介绍 开发工具及示例,第1.1.1节 轻重之分,轻重是什么意思? 哪些组件是轻量级的,哪些是重量级的?轻量级与重量级能不能同时使用?,第1.1.2节 Swing与AWT,Swing是用来替代AWT的轻量组件,而不是用来替代AWT本身。Swing除利用图形、字体、布局管理器等AWT功能外,所有的Swing轻量组件基本上都是从AWT的Container类继承来的,而AWT的Container类又扩展了AWT的Component类。换句话说,Swing不仅利用了AWT提供的下层构件,而且所有的Swing组件实际

2、上都是AWT容器。注意:AWT Container类本身是轻量的。,第1.2节 MVC,Swing的插入式界面样式由一个基于Smalltalk的“模型-视图-控制(Model-View-Controller )”设计的组件体系结构和用于管理界面样式的下层构件组成:Model:模型代表应用软件的数据View:视图指数据的可视化展现Controller:控制者获得视图上用户的输入并把它送到模型里面做相应的改变,第1.3节 Swing总体介绍,第1.3节 Swing总体介绍,第1.4节 开发工具及示例介绍,package sample;import javax.swing.JFrame;public

3、 class HelloWorld public static void main(String args) JFrame frame = new JFrame(Hello World!);frame.setSize(500,400);frame.setLocation(0,0);frame.setVisible(true);,第二章 Swing组件介绍,组件的划分使用窗口类组件使用其他组件,第2.1节 组件的划分,第2.1节 组件的划分,顶层容器:JFrame、JApplet、JDialog、JWindow.所谓的顶层容器也可以说是前面所说的Window组件,它是可以独立显示的组件.中间容器

4、:JPanel、JScrollPane、JSplitPane、JTooBar。所谓中间容器也就是指那些可以充当载体,但也是不可独立显示的组件。通俗地说,就是一些基本控件可以放在其中,但是它不能独立显示,必须要依托在顶层容器内才可以。特殊容器:在GUI上起特殊作用的中间层,如JInternalFrame、JLayeredPane、JRootPane(这里的特殊容器类其实也是中间容器类的一种,只不过它在图形上更加能够起到美化和专业化的作用)。基本组件:实现人机交互的组件,例如:JButton、JComboBox、JList、JMenu、JSlider、JTextField等。,第2.1节 使用窗口

5、类组件,主要的窗口组件包括JFrameJDialogJwindowJApplet,第2.1.1节 使用JFrame,JFrame是通用的一种基本窗口类型,它提供了标题、边框和其他一些窗口操作类按钮(最小化、最大化和关闭按钮),第2.1.1节 使用JFrame,JFrame的常用构造方法:JFrame() 构造一个初始时不可见的新窗体。JFrame(Stringtitle)创建一个新的、初始不可见的、具有指定标题的 Frame。常用方法:void setSize(int width, int height) 调整组件的大小,使其宽度为 width,高度为 height。void setLocat

6、ion(int x, int y) 将组件移到屏幕中(x,y)的位置,以屏幕的左上角为原点,右方向X轴增长,下方向Y轴增长。默认窗口的位置为(0,0).setVisible(boolean b) 根据参数 b 的值显示或隐藏此窗口。其它:setIconImage(Image image) ,setTitle(String title) ,setResizable ( boolean resizable),setDefaultCloseOperation(int operation),第2.1.1节 使用JFrame,JFrame的窗口事件监听方法:JFrame的窗口事件都由Window实现(J

7、Dialog、JWindow的窗口事件同理),窗口事件类为WindowEvent,为窗口增加监听事件的方法:addWindowListener(WindowListener l) 窗口事件可触发的入口方法有:windowActivated(WindowEvent e) 将 Window 设置为活动 Window 时调用windowClosed(WindowEvent e) 因对窗口调用 dispose 而将其关闭时调用windowClosing(WindowEvent e) 用户试图从窗口的系统菜单中关闭窗口时调用windowDeactivated(WindowEvent e) 当 Windo

8、w 不再是活动 Window 时调用windowDeiconified(WindowEvent e) 窗口从最小化状态变为正常状态时调用windowIconified(WindowEvent e) 窗口从正常状态变为最小化状态时调用windowOpened(WindowEvent e) 窗口首次变为可见时调用,第2.1.2节 使用JDialog,JDialog是Swing的对话框组件,其基本的功能与JFrame相似,最大的区别是:它提供窗口操作类按钮仅有关闭按钮,另外对话框还具有模式特性(模态)。,第2.1.2节 使用JDialog,JDialog的常用构造方法: JDialog() 创建一个

9、没有标题并且没有指定 Frame 所有者的无模式对话框。 JDialog(Dialog owner) 创建一个没有标题但将指定的 Dialog 作为其所有者的无模式对话 JDialog(Frame owner) 创建一个没有标题但将指定的 Frame 作为其所有者的无模式对话框。 JDialog(Window owner) 创建一个具有指定所有者 Window 和空标题的无模式对话框。常用方法:setModal(boolean modal)指定此 dialog 是否应该是有模式的。此方法已过时,保留它只是 为了后向兼容。 可以使用 setModal ityType () 代替。setModal

10、ityType(Dialog.ModalityType type) 设置此 dialog 的模式类型。,第2.1.3节 使用JWindow,JWindow 是一个顶层容器,它没有标题栏、窗口管理按钮或者其他与 JFrame 关联的修饰,它可以显示在用户桌面上的任何位置。因其没有装饰,默认显示就如同一张白板。JWindow方法很多与JFrame类似,但有些注意事项:JWindow的基本属性与JFrame相似,但JWindow没有标题栏及边框,相应的方法也不存在。JWindow的应用场景一般是做闪屏或弹出菜单式窗口使用。JWindow的窗口监听与JFrame窗口监听相同,但只能通过代码调用。,第2

11、.1.4节 使用JApplet,JApplet是java.applet.Applet 的扩展版,它添加了对 JFC/Swing 组件架构的支持。JApplet同样是需要运行在浏览器中的。,第2.1.4节 使用JApplet,Applet类中的四种基本方法用来控制其运行状态:init()、start()、stop()、destroy() init()方法 这个方法主要是为Applet的正常运行做一些初始化工作。当一个Applet被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向Applet传递参数,添加用户界面的基本组件等操作。 start()方法 系统在调用完init()方

12、法之后,将自动调用start()方法。而且,每当用户离开包含该Applet的主页后又再返回时,系统又会再执行一遍start()方法。这就意味着start()方法可以被多次执行,而不像init()方法。因此,可把只希望执行一遍的代码放在init()方法中。可以在start()方法中开始一个线程,如继续一个动画、声音等。 stop()方法 这个方法在用户离开Applet所在页面时执行,因此,它也是可以被多次执行的。它使你可以在用户并不注意Applet的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果Applet中不包含动画、声音等程序,通常也不必实现该方法

13、。 destroy()方法 与对象的finalize()方法不同,Java在浏览器关闭的时候才调用该方法。Applet是嵌在HTML文件中的,所以destroty()方法不关心何时Applet被关闭,它在浏览器关闭的时候自动执行。在destroy()方法中一般可以要求收回占用的非内存独立资源。(如果在Applet仍在运行时浏览器被关闭,系统将先执行stop()方法,再执行destroy()方法,第2.2节 使用其它组件,Swing组件库中基本的组件包括:通用控件集(JButton、JLabel、JTree、Jtable等)轻量级容器类组件(JScrollPane、Jpanel、JRootPan

14、e等),第2.2.1.1节 使用标签,缺省时,标签没有边框,可以显示一个字符串,一个图标或同时显示字符串和图标。标签的常用构造方法有:JLabel() 创建无图像并且其标题为空字符串的 JLabel。JLabel(Icon image) 创建具有指定图像的 JLabel 实例。JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水平对齐方式的 JLabel 实例。JLabel(String text) 创建具有指定文本的 JLabel 实例。JLabel(String text, Icon icon, int horizontalAlign

15、ment) 创建具有指定文本、图像和水平对齐方式的 JLabel 实例。JLabel(String text, int horizontalAlignment) 创建具有指定文本和水平对齐方式的 JLabel 实例。,第2.2.1.2节 使用按钮,按钮组件有很多种,其中包括普通按钮(JButton)、两态按钮(JToggleButton),单选按钮(JRadioButton)和复选框按钮(JCheckBox)是JToggleButton的子类。所有的按钮的父类都是AbstractButton:按钮支持的基本事件方法:addActionListener(ActionListener l) 将一个 ActionListener 添加到按钮中。setAction(Action a) 设置 Action。新 Action 将替换所有以前设置的 Action,但不影响单独使用 addActionListener 添加的 ActionListener。如果 Action 已经是按钮的已注册 ActionListener,则它不需要重新注册,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

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