java中 基于swing的图形用户界面设计_java中基于swing的图形用户界面设计

41528d3028836879cd698677c3999917.gifjava中基于swing的图形用户界面设计

* 1第 10章 基于 Swing的图形用户界面设计本章导读 AWT组件与 SWING组件 JFrame窗体、菜单组件、布局设计 中间容器、文本组件 按钮与标签组件、复选框与单选按钮组件 列表组件、表格组件、树组件和进度条组件 窗口事件、鼠标事件、焦点事件和键盘事件 对话框 AWT线程与计时器 MVC设计模式 发布应用程序* 210.1 AWT组件与 SWING组件概述Java早期进行用户界面设计时, 使用 java.awt包中提供的类 。 “ AWT” 就是 Abstrac Window Toolkit(抽象窗口工具包)的缩写。Java 2( JDK1.2)推出之后,增加了一个 新的 javax.swing包 ,该包提供了功能更为强大的用来设计 GUI界面的类。 Java早期的 java.awt包中的类创建的组件习惯上称为重组件。例如,当用java.awt包中的 Button类创建一个按钮组件时,都有一个相应的本地组件在为它工作(称为它的同位体)。javax.swing包为我们提供了更加丰富的、功能强大的组件,称为 SWING组件,其中 大部分组件是轻组件 ,没有同位体。SWING组件的轻组件在设计上和 AWT完全不同,轻组件把与显示组件有关的许多工作和处理组件事件的工作交给相应的 UI代表来完成。这些 UI代表是用Java语言编写的类,这些类被增加到 Java的运行环境中,因此组件的外观不依赖平台,不仅在不同平台上的外观是相同的,而且较组件有更高的性能。如果Java运行环境低于 1.2版本,就不能运行含有 SWING组件的程序。 * 3图 10.1 JComponent类的部分子类以及 JFrame类和 JDialog类 * 4容器类( Container)和组件类( Component) Java把由 Component类的子类或间接子类创建的对象称为一个组件 ;把由Container的子类或间接子类创建的对象称为一个容器。◆ 可以向容器添加组件。 Container类提供了一个 public方法 add(),一个容器可以调用这个方法将组件添加到该容器中。◆ 调用 removeAll()方法可以移掉容器中的全部组件,调用remove(Component c)方法可以移掉容器中参数指定的组件。◆ 每当容器添加新的组件或移掉组件时,应该让容器调用 validate()方法,以保证容器中的组件能正确显示出来。容器本身也是一个组件,因此可以把一个容器添加到另一个容器中实现容器的嵌套。javax.swing包中有 4个最重要的类 JApplet, JFrame, JDialog和JComponent。注: JComponent类的子类都是轻组件, JComponent类是 java.awt包中 Container类的子类,因此所有的轻组件也都是容器。而 JFrame、 JApplet、 JDialog都是重组件,即有同位体的组件,这样窗口(JFrame)、对话框( JDialog)、小应用程序( Java Applet)可以和操作系统交互信息。轻组件必须在这些容器中绘制自己,习惯上称这些容器为 SWING的底层容器。* 510.2 JFrame窗体javax.swing包中的 JFrame类是 java.awt包中 Frame类的子类,因此JFrame类其子类创建的对象是窗体。当应用程序需要一个窗口时,可使用 JFrame或其子类创建一个对象。窗口默认地被系统添加到显示器屏幕上,因此不允许将一个窗口添加到另一个容器中。 Frame类常用方法如下:◆ JFrame() 创建一个无标题的窗口。◆ JFrame(String s) 创建一个标题为 s的窗口。◆ public void setBounds(int a,int b,int width,int height)设置出现在屏幕上时的初始位置为 (a,b),即距屏幕左面 a个像素、距屏幕上方 b个像素;窗口的宽是 width,高是 height。◆ public void setSize(int width,int height) 设置窗口的大小 ,在屏幕出现默认位置是 (0,0)。◆ public void setVisible(boolean b) 设置窗口是可见还是不可见,窗口默认是不可见的。◆ public void setResizable(boolean b) 设置窗口是否可调整大小 ,窗口默认是可调整大小的。◆ public void setDefaultCloseOperation(int operation) 该方法用来设置单击窗体右上角的关闭图标后,程序会做出怎样的处理。其中的 参数 operation取下列有效值:1) DO_NOTHING_ON_CLOSE 什么也不做 2)HIDE_ON_CLOSE 隐藏当前窗口 3)DISPOSE_ON_CLOSE 隐藏当前窗口 ,并释放窗体占有的其他资源 4)EXIT_ON_CLOSE 结束窗体所在的应用程序 这 4个常量都是 JFrame类中的 static常量,单击关闭图标后,程序根据operation取值做出不同的处理。例子 10-1用 JFrame创建了两个窗口,程序运行效果如图 10.2。 * 6例子 10-1 运行效果图 10.2* 710.3 菜单组件窗口中的菜单条、菜单、菜单项是我们所熟悉的界面,菜单条、菜单、菜单项是窗口常用的组件,菜单放在菜单条里,菜单项放在菜单里。1. JMenuBar菜单条JComponent类的子类 JMenuBar是负责创建菜单条的,即JMenuBar的一个实例就是一个菜单条 。JFrame类有一个将菜单条放置到窗口中的方法:public void setJMenuBar(JMenuBar menubar);该方法将菜单条添加到窗口的菜单条区域(注意:只能向窗口添加一个菜单条)。 * 82. JMenu菜单 JComponent类的子类 JMenu类是负责创建菜单的,即 JMenu的一个实例就是一个菜单。 JMenu类的主要方法有以下几种:◆ JMenu(String s) 建立一个指定标题菜单,标题由参数 s确定◆ public void add(MenuItem item) 向菜单增加由参数 item指定的菜单选项对象。◆ public void add(String s) 向菜单增加指定的选项。◆ public JMenuItem getItem(int n) 得到指定索引处的菜单选项。◆ public int getItemCount() 得到菜单选项数目。* 93. JMenuItem菜单项 JMenuItem是 JMenu的父类,该类是负责创建菜单项的,即JMenuItem的一个实例就是一个菜单项。菜单项放在菜单里。JMenuItem类的主要方法有以下几种:◆ JMenuItem(String s) 构造有标题的菜单项。◆ JMenuItem(String text, Icon icon) 构造有标题和图标的菜单项◆ public v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值