07图形界面设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《07图形界面设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 07 图形界面 设计 课件
- 资源描述:
-
1、Java图形界面编程 Java图形界面编程“没有图片或对话,”爱丽丝想,“一本书还能有什么用呢?”刘易斯.卡莱尔,爱丽丝漫游奇境记Java图形界面编程 学习目标学习目标 n掌握用AWT来设计图形用户界面的方法,尤其是组件、容器、布局管理器等概念。n学习AWT事件处理模型,掌握事件源、事件、事件处理者等概念,让程序能够响应用户的操作。n了解AWT各个组件的用法及所采用的事件处理接口。Java图形界面编程 学习指南学习指南 n理解概念,多实践,勤思考,举一反三。Java图形界面编程 难难 重重 点点n【重点重点】事件处理模型。n【难点难点】内部类匿名类在AWT中的应用。Java图形界面编程 知知
2、识识 点点 用AWT/SWING设计图形化用户界面 容器布局管理器 事件处理模型 组件库Java图形界面编程 Java程序的用户界面 用户界面是用户和计算机系统交互的接口。用户界面功能是否完善和便捷直接影响到用户对软件的使用。图形用户界面(Graphics User Interface)简称GUI,使用图形的方式借助菜单、按钮等标准界面元素和鼠标操作,帮助用户方便的发出系统命令,启动操作。Java语言为了方便图形用户界面的开发,设计了专门的类库来生成各种标准图形界面和处理图形界面的各种事件。这个类库就是java.awt包。Java图形界面编程 Java程序的用户界面一个GUI系统的基本组成 提
3、供最基本的可视化控件 按钮、标签、文本框、能将基本GUI控件组织为包容层次的容器组件 顶层容器、中间容器、容器中可容纳其他容器、负责管理容器中组件布局的组件 边界布局管理器、流布局管理器、事件处理模式Java图形界面编程 awt:Abstract Window Toolkit抽象窗口工具集 从Java1.0中出现。AWT组件,都是“重量级”的组件 awt处理用户界面元素的方法是把这些元素的创建和行为委托给每个目标平台(如windows,Linux)上的本地GUI处理。每个平台提供的图形界面元素都不一样。不同平台上的awt库存在不同Bug。awt的事件处理模型在Java1.1版进行了大的改动后,
4、到目前的版本基本没变。swing:Java 2.0中出现。Swing组件全部是由纯Java编写的,用户界面元素都绘制在空白窗口上,绘制和行为都由swing类自己完成。各平台之间唯一不同的就是最外层窗口的创建。总结:现在编写Java图形界面程序,使用“swing组件+awt事件处理”模型。Java图形界面编程 图形用户界面中常用的组件图形用户界面中常用的组件 Java图形界面编程 Swing 结构ObjectComponentJFrameContainerWindowFrameDialogJDialogJTextJComboBoxJLabelJListJMenuBarJOptionPaneJPa
5、nelJScrollBarAbstractButtonJToggleButtonJMenuItemJButtonJCheckBoxJRadioButtonJComponentJMenuJava图形界面编程 Swing介绍Java1.2引入称为Swing的新的GUI组件库。Swing包括javax.swing包及其子包。Swing有一个与平台无关的实现,而且具有一个艺术状态的属性集。尽管Swing独立于AWT,但它是依照基本的 AWT类实现的。Java图形界面编程 MVC设计模式模型模型-存储内容存储内容视图视图-显示内容显示内容控制器控制器-处理用户输入处理用户输入Java图形界面编程 MVC
6、的交互Java图形界面编程 创建GUI真简单import javax.swing.*;(1)创建frame JFrame frame=new JFrame();(2)创建图形组件 JButton button=new JButton(“ok”);(3)将图形组件加到frame上 frame.getContentPane().add(button);(4)显示出来 frame.setSize(300,300);frame.setVisible(true);Java图形界面编程 Component(组件)Java的图形用户界面的最基本组成部分是组件,组件是一个可以以图形化的方式显示在屏幕上并能与用
7、户进行交互的对象,例如一个按钮,一个标签等。组件不能独立地显示出来,必须将组件放在一定的容器中才可以显示出来。Java图形界面编程 GUI组件 程序与用户的交互,通过窗口中的组件来完成。窗口中的一个组件就是一个对象。swing包中常用包中常用GUI组件包括:组件包括:JButton:按钮JCheckBox:可选框JComboBox:组合框JLabel:标签JList:列表JPasswordField:密码域JProgressBar:进度条JRadioButton:单选按钮JScrollBar:滚动条JTable:表格JTextArea:文本区JTextField:文本域JTree:树型框Jav
8、a图形界面编程 各组件的常用方法 我们可以通过调用组件的方法来指定组件的大小、形状、颜色,绘制图形、图象,输出文字,或者对外部事件进行响应等。如:setSize()setVisible()setBackground()具体的各个组件有些什么方法还需查阅相关帮助文档。Java图形界面编程 Container(容器)容器(Container)实际上是Component的子类,因此容器本身也是一个组件,具有组件的所有性质,另外还具有容纳其它组件和容器的功能。Container 对象可用于将组件组合在一起。容器中的组件根据特定布局排列。Swing 中的容器有两类:-顶级容器 -中间容器 Swing 中
9、容器的主要功能 组件的管理 布局管理Java图形界面编程 顶级容器JFrame:用于框架窗口的类,此窗口带有边框、标题、用于关闭和最小化窗口的图标等。带 GUI 的应用程序通常至少使用一个框架窗口。JDialog:用于对话框的类。JApplet:用于使用 Swing 组件的 Java Applet 的类。Java图形界面编程 中间容器JPanel:最灵活、最常用的中间容器。JScrollPane:与 JPanel 类似,但还可在大的组件或可扩展组件周围提供滚动条。JTabbedPane:包含多个组件,但一次只显示一个组件。用户可在组件之间方便地切换。JToolBar:按行或列排列一组组件(通常
10、是按钮)。Java图形界面编程 基本的 Swing 应用程序import javax.swing.*;public class HelloSwing public static void main(String args)JFrame frame=new JFrame(HelloSwing);JLabel label=new JLabel(你好,你好,Swing);frame.getContentPane().add(label);frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);frame.setSize(300,200);frame
11、.setVisible(true);导入必要的包,一般还需导入:导入必要的包,一般还需导入:import java.awt.*;import java.awt.event.*;设置一个设置一个顶级容器顶级容器创建一个创建一个Swing组组件件将组件添加到将组件添加到容器内容窗格容器内容窗格实现了在单击实现了在单击“关闭关闭”按钮按钮时,时,可以关闭窗口。可以关闭窗口。如果使用的如果使用的早期版本的平台,则需要通早期版本的平台,则需要通过事件监听器实现过事件监听器实现 Java图形界面编程 import java.awt.*;import javax.swing.*;public class H
12、elloSwing public static void main(String args)JFrame frame=new JFrame(HelloSwing);JLabel label=new JLabel(你好,Swing);JButton btn=new JButton(Click Me!);frame.getContentPane().setLayout(new FlowLayout();frame.getContentPane().add(label);frame.getContentPane().add(btn);frame.setDefaultCloseOperation(JF
13、rame.EXIT_ON_CLOSE);frame.setSize(300,200);frame.setVisible(true);Java图形界面编程 向窗口(容器)中添加组件 组件要添加到窗口容器中。import javax.swing.*;import java.awt.*;public class ContentTest extends JFrame public static void main(String args)JFrame helloFrame=new ContentTest();helloFrame.show();public ContentTest()setSize(3
14、00,200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container containerPane=getContentPane();containerPane.add(new JLabel(Hello World!);ContentPaneJava图形界面编程 JFrame是放置其他 Swing 组件的顶级容器JFrame 组件用于在 Swing 程序中创建窗体它的构造函数:JFrame()JFrame(String Title)组件必须添加至内容窗格,而不是直接添加至 JFrame 对象,示例:frame.getContentPan
15、e().add(b);Java图形界面编程 JPanelJPanel 组件是一个中间容器用于将小型的轻量级组件组合在一起JPanel 的缺省布局为 FlowLayoutJPanel 具有下列构造函数:JPanel()JPanel(LayoutManager lm)Java图形界面编程 JButtonSwing 的按钮相对于AWT中Button类提供了更多的功能。JButton类允许用图标、字符串或两者同时构造一个按钮。构造函数如下:JButton()JButton(Icon icon):icon表示使用的图标表示使用的图标 JButton(String text):text表示使用的字符串表示
16、使用的字符串 JButton(String text,Icon icon)ImageIcon buttonIcon1=new ImageIcon(on.gif);JButton b1=new JButton(First Button,buttonIcon1);b1.setMnemonic(KeyEvent.VK_F);设置键盘设置键盘快捷方式快捷方式创建一个带图标创建一个带图标的的JButtonJava图形界面编程 JPanel和JButton使用示例import java.awt.*;import javax.swing.*;class PanelDemo extends JFrame pu
17、blic PanelDemo(String title)super(title);Container c=getContentPane();JPanel cpane=new JPanel();JButton ok=new JButton(确定确定);cpane.add(ok);JButton cancel=new JButton(取消取消);cpane.add(cancel);c.add(cpane,BorderLayout.SOUTH);public static void main(String args)PanelDemo pd=new PanelDemo(JPanel测试测试);pd.
18、setSize(300,200);pd.setVisible(true);Java图形界面编程 JLabel 它既可以显示文本也可以显示图像构造函数如下:JLabel(Icon icon):icon表示使用的图标表示使用的图标 JLabel(String text,Icon icon,int align):text表表示使用的字符串示使用的字符串;icon表示使用的图标表示使用的图标;align表表示水平对齐方式,其值可以为:示水平对齐方式,其值可以为:LEFT、RIGHT、CENTER。ImageIcon icon=new ImageIcon(Calv.gif);JLabel calv_la
19、bel=new JLabel(这是这是 Calvin,icon,SwingConstants.LEFT);Java图形界面编程 文本组件 JtextComponent 为所有 Swing 文本组件的根类JTextField JTextComponentJEditorPaneJTextAreaJTextPaneJPasswordFieldJava图形界面编程 JTextFieldJTextField 组件允许输入或编辑单行文本此类的构造函数包括:JTextField()JTextField(Document doc,String text,int columns)JTextField(int c
20、olumns)JTextField(String text)JTextField(String text,int columns)Container con=getContentPane();con.setLayout(new FlowLayout();JLabel jl=new JLabel(“文本域文本域”);con.add(jl);JTextField tf=new JTextField(20);con.add(tf);Java图形界面编程 JTextAreaJTextArea 组件用于接受来自用户的多行文本它可实现可滚动界面JTextArea 组件可使用下列构造函数创建:JTextAr
21、ea()JTextArea(int rows,int cols)JTextArea(String text)JTextArea(String text,int rows,int cols)JTextArea(Document doc)JTextArea(Document doc,String text,int rows,int cols)JLabel jl=new JLabel(“文本区文本区”);con.add(jl);JTextArea ta=new JTextArea(5,10);con.add(ta);Java图形界面编程 选择性输入为了简化表单填写过程,通常为用户提供多种可供选择的选
22、项,而无需用户写出他们的响应。常用于选择性输入的组件有:复选框复选框 单选按钮单选按钮 列表框列表框 组合框组合框Java图形界面编程 复选框复选框用于为用户提供一组选项JCheckBox 类具有下列构造函数:JCheckBox()JCheckBox(Icon icon)JCheckBox(Icon icon,boolean selected)JCheckBox(String text)JCheckBox(String text,boolean selected)JCheckBox(String text,Icon icon)JCheckBox(String text,Icon icon,bo
展开阅读全文