Java程序设计第13章-图形用户界面GUI讲课稿
Java GUI图形用户界面 课件
![Java GUI图形用户界面 课件](https://img.taocdn.com/s3/m/24556a6caf1ffc4ffe47ac70.png)
setDefaultCloseOperation方法:
设置单击窗口上的关闭按钮时的事件处理方式。 JFrame.DO_NOTHING_ON_CLOSE JFrame.HIDE_ON_CLOSE
JFrame.DISPOSE_ON_CLOSE
JFrame.EXIT_ON_CLOSE
Java程序设计与实践教程—清华大学出版社
18
9.2.1 JFrame框架
Java程序设计与实践教程—清华大学出版社
19
9.2.1 JFrame框架
构造方法:
JFrame() :创建无标题窗口。 JFrame(String s) : 创建标题名字是字符串s的窗口。 例如:JFrame f = new JFrame(“Hello”);
Java程序设计与实践教程—清华大学出版社
11
9.1 Swing概述
Swing组件的分类
(1)顶层容器:JFrame,JApplet,JDialog,JWindow共4个。
(2)中间容器:JPanel,JScrollPane,JSplitPane,JToolBar等。 (3)特殊容器:在GUI上起特殊作用的中间层,如 JInternalJFrame,JLayeredPane,JRootPane等。 (4)基本控件:实现人机交互的组件,如Jbutton, JComboBox, JList, JMenu, JSlider, JTextField等。 (5)不可编辑信息的显示:向用户显示不可编辑信息的组件,例如 JLabel, JProgressBar, ToolTip等。 (6)可编辑信息的显示:向用户显示能被编辑的格式化信息的组件 ,如JColorChooser, JFileChoose, JFileChooser, JTable, JTextArea等。
GUI(图形用户界面)外观设计-讲义
![GUI(图形用户界面)外观设计-讲义](https://img.taocdn.com/s3/m/65b25c66561252d380eb6e6d.png)
GUI(图形用户界面)外观设计1、外观设计定义:外观设计,是指对产品的形状、图案或者其结合以及色彩与形状、图案的结合所做出的富有美感并适于工业应用的新设计。
A、产品:外观设计的载体应当是产品,即,用工业方法生产出来的物品,而对于不能重复生产的手工艺品、农产品、畜产品、自然物则不能作为外观设计的载体。
B、形状、图案、色彩构成产品的外观设计的要素和要素组合包括:形状,图案,形状与图案,形状与色彩,图案与色彩,形状与图案与色彩,换言之,单独的色彩不能独立构成外观设计;C、外观设计产品必须适于工业应用,即,必须能够用工业方法生产并批量生产;D、外观设计必须具有美感,是否具有美感因不同的国家、民族和时代而异,带有一定的主观成分,通常认为只要不是极其丑陋、不违反社会公德且能为大众所接受的,就可以认为具有美感;E、必须是新设计,由于现阶段中国外观设计不经过实质审查(将在下文详细讨论),因此,在初步审查中,审查员通常仅需根据申请文件的内容及一般消费者的常识来判断外观设计是否满足“新设计”的一般性要求。
2、通常需要准备的视图:在外观设计产品为立体产品的情况下,如果产品设计要点涉及六个面,则应当准备六个面的正投影视图;如果产品设计要点仅涉及一个或几个面的,则应当至少准备所涉及面的正投影视图及能够展现出该面的立体图。
在外观设计产品为平面产品的情况下,如果产品设计要点涉及一个面的,则可以仅提交该面的正投影视图;如果产品设计要点涉及两个面的,则应当提交两个面的正投影视图。
必要时,申请人还可以进一步提供剖视图、放大图、变化状态图及使用状态参考图等以更为清楚地表达请求保护的对象。
在确定需要准备的视图时,申请人需要特别注意的是,在外观设计专利申请提交之后,关于那些没有呈现在申请时所提交的视图中的面的视图将不能再被补入该外观设计专利申请。
因此,申请人在视图选择上应当慎重,充分考虑是否所选择视图已清楚地表达了请求保护的对象。
3、2014年5月1日之前排除范围的一般性规定:(a)取决于特定地理条件、不能重复再现的固定建筑物、桥梁等。
图形用户界面编程教学课件ppt
![图形用户界面编程教学课件ppt](https://img.taocdn.com/s3/m/1071b712ec630b1c59eef8c75fbfc77da269978b.png)
界面风格:GUI程序的界面风格包括色彩、字体、间距、大小等视觉元素,这些元素共同决定了程序的整体外观。
图形用户界面编程进阶
04
多线程与图形渲染
多线程概述
多线程的概念、多线程的优点和缺点、线程的生命周期和线程同步。
界面响应性的定义、界面响应性的重要性、影响界面响应性的因素。
界面响应性与优化
界面响应性概述
介绍优化界面响应性的策略,包括减少UI操作的复杂度、使用缓存、优化数据加载等。
界面优化策略
通过实际案例来具体说明如何优化界面响应性。
实际案例分析
跨平台需求分析
可访问性设计理念
跨平台应用可访问性设计
跨平台与可访问性
图形用户界面编程实践
05
目的:通过制作简易计算器,让学生了解图形用户界面编程的基本概念、界面设计和事件处理方法。
下一步学习建议
通过实践来巩固所学知识,可以在实际项目中应用所学内容,加深对前端技术的理解和掌握。
加强实践
对于已经学习的前端框架,可以深入学习其原理、机制和最佳实践,提高自己的框架技能水平。
深入学习框架
可以学习后端技术,了解前后端的交互和数据流动,更好地掌握前端技术的实际应用。
学习后端技术
可以通过阅读相关技术文章、参加技术大会等方式,关注前端技术的最新动态和发展趋势。
GUI设计工具
介绍了一些常见的GUI设计工具,如Sketch、Figma、Adobe XD等,以及这些工具在GUI设计中的应用。
图形用户界面编程核心技术
03
பைடு நூலகம்
01
界面布局与控件
02
03
04
总结词:事件处理和交互逻辑是GUI程序的重要组成部分,它们使得程序能够响应用户操作并实现交互。
Java图形界面设计课件
![Java图形界面设计课件](https://img.taocdn.com/s3/m/3ac07b4717fc700abb68a98271fe910ef02dae11.png)
Swing轻型组件分类参见教材P202 表12.1
JFrame、JApplet和JDialog等。 非顶层容器,不是独立的窗口,它们必须位于窗口之内,
非顶层容器包括JPanel及JScrollPanel等。
8
12.2.1 Swing组件分类
辅助类和组件类都属于非容器类组件不能包含其他组件的 组件,其种类较多。
辅助类 辅助类是用来描述组件属性的,辅助类通常包含在 java.awt包中,Swing组件不能取代AWT的全部类, 只能替代AWT的GUI组件类,AWT辅助类保持不变。
3
12.1 图形用户界面设计
AWT 和 Swing 是 Java 设计 GUI 用户界面的基础. 与AWT 的重量级组件不同, Swing 中大部分是轻量级组件。
正是这个原因, Swing 几乎无所不能, 不但有各式各样先进 的组件, 而且更为美观易用.所以一开始使用 AWT 的程序 员很快就转向使用 Swing 了。 但是因为 Swing 是架构在 AWT 之上的, 没有 AWT 就没 有 Swing。所以程序员可以根据自己的习惯选择使用 AWT 或者是 Swing。 但是,最好不要二者 混用——除开显示风格不同不说,还很 可能造成层次 (Z-Order) 错乱
1. Swing容器的层次关系 一般的Swing窗口,实际上包含几个“层次”。
11
12.2.1 Swing组件分类
1. Swing容器的层次关系 一般的Swing窗口,实际上包含几个“层次”,各个层的关
JavaGUI程序设计PPT课件
![JavaGUI程序设计PPT课件](https://img.taocdn.com/s3/m/8a982f40ccbff121dd3683a6.png)
GridLayout例子(示例11-5)
import java.awt.*; public class MyGridLayout extends Frame {
private String name[]={"0","1","2","3","4","5","6","7","8","9","+","-","*","/","."}; private Button button[]=new Button[name.length]; public MyGridLayout() {
Object
Component
Button
3
TextField
Container
…
Container(容器)
容器(Container)实际上是Component的子类,因此容 器类对象本身也是一个组件,具有组件的所有性质, 另外还具有容纳其它组件和容器的功能。
容器类对象可使用方法add()添加组件 两种主要的容器类型
public static void main(String args[]) {
Frame f=new Frame("Hello,My Frame!"); f.setSize(200,200); f.show(); } }
9
Frame例子(con.)
10
Panel
为放置组件提供空间 允许使用自己的布局管理器 不能单独存在,必须放置到其他容器中
Java程序设计课件:GUI组件
![Java程序设计课件:GUI组件](https://img.taocdn.com/s3/m/95a9ca3826284b73f242336c1eb91a37f1113297.png)
构造一个具有指定的行数和列数和指定文本的文本区。 TextArea(String text, int rows, int columns)
构造一个具有指定文本,指定行数、列数和滚动条的文本区。 TextArea(String text, int rows, int columns, int scrollbars)
getSelectedValues()
返回所有选择值的Object类型的数组,并根 据列表中的索引顺序按升序排序。
isSelectedIndex(int index)
判定指定index的项是否被选中,如果选择了 指定的索引,则返回 true;否则返回 false。
isSelectionEmpty()
表示字体的显示形式,它可以取下面几个常量之一。
Font.BOLD:表示字体加粗。 Font.ITALIC:表示字体倾斜。 Font.PLAIN:表示正常字体,也是Font字体的默认值。
参数size表示字体的大小,其单位为磅,要求为正整数, size值越大表示字越大。
2023/12/28
6/35
Java程序设计
GUI组件
本章主要内容
常用控制组件 菜单 工具栏 对话框 图形图像的显示 小结
2023/12/28
2/30
常用控制组件
容器组件可以设置界面的布局。控制组件为用户 提供的控制程序执行过程的功能。
常用控制组件包括:
标签:显示输出信息 按钮:启动程序功能 文本框:获取用户输入的简单信息 文本区:获取用户输入的复杂信息 列表框:显示多个选项供用户选择 组合框:包含多个选项,但仅显示一个选项供用户选
Java图形用户界面ppt课件
![Java图形用户界面ppt课件](https://img.taocdn.com/s3/m/d0b815564531b90d6c85ec3a87c24028915f85bb.png)
18
1.4 布局管理器-FlowLayout
1. FlowLayout
FlowLayout 是Panel,Applet的缺省布局管理器。其组件的放 置规律是从上到下、从左到右进行放置,如果容器足够宽,第一 个组件先添加到容器中第一行的最左边,后续的组件依次添加到 上一个组件的右边,如果当前行已放置不下该组件,则放置到下 一行的最左边。
11
1.2 组件和容器
容器(Container)也是一个类,实际上是Component的 子类,因此容器本身也是一个组件,具有组件的所有 性质,但是它的主要功能是容纳其它组件和容器。
布局管理器(LayoutManager):每个容器都有一个布 局管理器,当容器需要对某个组件进行定位或判断其 大小尺寸时,就会调用其对应的布局管理器。
Java图形用户界面
Java界面设计的用途
Java 的图形界面工具包,可以用于工具类软 件开发、管理类软件开发、通用客户端开发 、银行客户端软件开发、Eclipse 插件开发等 方向。在许多知名的大型软件中,都能够见 到 Java 的身影,如思维导图软件、Eclipse、 IDEA 开发环境等。
5
如何选择 GUI 工具包
AWT、Swing、SWT是 Java 中的三大 GUI 工具包,其中 Swing 是最灵活、 强大的 GUI 工具包,所以在界面开发 中,首选 Swing ,它可以胜任绝大多 数开发工作。
6
本讲内容
1、AWT事件处理模型 2、布局管理器 3、Swing简介 4、Swing组件和容器
为了使我们生成的图形用户界面具有良好的平台无关 性,Java语言中,提供了布局管理器这个工具来管理 组件在容器中的布局,而不使用直接设置组件位置和 大小的方式。
《JavaGUI程序设计》课件
![《JavaGUI程序设计》课件](https://img.taocdn.com/s3/m/a772158ddb38376baf1ffc4ffe4733687e21fc05.png)
Java GUI进阶主题
使用Swing工具箱
使用Swing工具箱的可视化设计器,可快速创建GUI应用程序界面。
绘图和动画
Java GUI提供了丰富的绘图和动画库,可用于开发游戏和交互式多媒体应用程序。
多线程编程
Java GUI应用程序通常需要响应用户输入和处理常规任务,使用多线程技术可提高应用程序的响应速度。
JavaFX是Java平台的下一代用户界面工具包,提供了现代UI设计和高性能渲染能 力。
2
Java应用程序开发的未来
GUI应用程序开发将朝向更加智能、高效、多样化和灵活性等方向发展。
3
总结
Java GUI编程涵盖了广泛的主题,包括基础知识、高级编程、布局管理、应用程 序实例,进阶主题等。学好Java GUI编程对于开发人员而言具有极大的价值。
Java Swing是一个跨平台的用户界面库,于1997年发布。它是Java语言创新的产物。
3 为什么需要Java GUI编程
Java的可移植性、易于使用的UI组件和布局管理器,使得Java GUI应用程序适用于各种平 台和设备。
Java GUI基础知识
Java Swing库介绍
Swing是Java的用户界面(UI) 工具包,是Java Foundation Classes (JFC) 的一部分。Swing 包括各种UI组件,如窗口、标 签、按钮和滚动条。
常用组件介绍
常用的UI组件包括文本框、复 选框、单选按钮、列表框、下 拉列表框等。
容器介绍
容器是Swing面板的父类,用于 容纳其他组件,如框架、面板 和对话框。
Java GUI高级编程
事件驱动模型
基于事件-监听器设计模型,允许 程序响应用户输入。
Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料
![Java程序设计GUI 图形用户界面PPT 课件,Java学习和备课必备资料](https://img.taocdn.com/s3/m/a92d2317b8f67c1cfbd6b8c0.png)
7
9.1 Swing 简介
9.1.1 窗体组件 JFrame 9.1.2 对话框组件 JDialog 9.1.3 对话框组件 JOptionPane 9.1.4 中间容器 JPanel 与 JscrollPane 9.1.5 标签组件 JLabel 9.1.6 文本组件 JTextField 与JTextArea
5
✓Swing包在图形界面设计上比AWT更丰富,更美观。Swing 拥有4倍于AWT的用户界面组件。 ✓是AWT包基础上的扩展,在很多情况下在AWT包的部件前 加上字母J即为Swing组件的名称,如:JFrame、JApplet、 JButton等。 ✓Swing组件都是AWT的Container类的直接子类或间接子类 。
17
9.1.3 对话框组件 JOptionPane
使用上面介绍的 JDialog 可以制作消息提示对话框、确定取消对话框等常用的对话框,但相 对来说要花费一些心思才能做出来,而 JOptionPane 组件直接提供了创建上述几种常用的对 话框的方法,大大方便了编程。 1.showMessageDialog()的静态方法弹出消息对话框,显示一条消息并等待用户确定。常用 的重载方法如下。
4、设置窗体的位置。setLocationRelativeTo(Component c):设置 窗体的相对位置。如果参数为 null,则窗体在屏幕中居中对齐。
5、如果希望在关闭窗体后程序可以随之停止,需要调用方法 setDefaultClose Operation()并传入参数 JFrame.EXIT_ON_CLOSE, 这句代码设置了关闭窗体后会停止程序的运行。 此外还有其他 3 个参数,简述如下。
口");。 2)带参的构造方法:用一个字符串作为参数,此字符串将成为窗体的标题。
Java程序设计第13章-图形用户界面GUI讲课稿
![Java程序设计第13章-图形用户界面GUI讲课稿](https://img.taocdn.com/s3/m/59331ade69eae009581becdc.png)
13.2.2 窗口菜单
一个窗口菜单由多个组件共同构成。 1、JMenuBar类
JMenuBar(菜单条),用于创建一个菜单条。一个窗口中只能有一个 菜单条,并且只能添加到窗口顶端。
Frame添加JMenuBar的方法是: setJMenuBar(JMenuBar menubar)
13.1.2 Swing组件
Component Container
Window JComponen
t
Frame
Dialog
JFrame JDialog
JComponent部分类层次关系
JLabel
JList AbstractButton
JMenuBar JTable JPanel
JTextComponent JTree
参数orientation为JSplitPane.HORIZONTAL_SPLIT(水平分割)或 JSplitPane.VERTICAL_SPLIT(垂直分割),left为放在左边(或上边)的组件,right为放 在右边(或下边)的组件;参数c为true表示拆分线移动时组件跟着连续变化,为false则拆分 线停止移动组件再发生变化。
13.3.3 常用布局
每个容器使用布局管理器对存放其中的组建进行位置、大小的管理。 使用布局管理器后,组件在容器中的大小和位置完全由布局管理器控制 和管理,程序员不需要也不能再对组件的位置和大小进行控制。 每一种容器都有默认的布局管理器。 可以用setLayout()方法重新设置布局管理器。
3、JScrollPane
JScrollPane提供轻量级组件的 Scrollable 视图用于管理滚动条。 用于TextArea文本框中,它不支持 重量级组件。常用构造方法:
Java语言程序设计实用教程第十三讲图形用户界面
![Java语言程序设计实用教程第十三讲图形用户界面](https://img.taocdn.com/s3/m/c578b8d5b14e852458fb57ae.png)
Java语言程序 设计实用教程 SISE Java.awt.Container Javax.swing.JComponent JTextComponent
Swing组件层次结构(P351) 组件层次结构( 组件层次结构 )
AbstractButton JPanel JComboBox JLabel JTree …
File chooser
Table
Text
Tree
Java语言程序 设计实用教程 SISE
Swing程序举例 程序举例
import javax.swing.*; public class HelloWorldSwing { public static void main(String[] args) { JFrame frame = new JFrame("HelloWorldSwing"); final JLabel label = new JLabel("Hello World"); frame.getContentPane().add(label); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.pack(); frame.setVisible(true); } }
Java语言程序 设计实用教程 SISE
Java常用控件介绍
文本框,接收单行字符串输入 文本区,接收多行字符串的输入 按钮,触发一系列动作 标题,在容器上显示静态文本 复选框,接收yes/no值的数据,可 多选 单选按钮,只允许从一组选项中选 择一个 下拉列表框,只允许单选,可输入 新值 列表框,允许多选,不可输入新值
Java的图形用户界面.ppt
![Java的图形用户界面.ppt](https://img.taocdn.com/s3/m/115427360740be1e650e9a8c.png)
Label List Scrollbar Choice Checkbox Menu
OtherComp.java
5、AWT中的各种组件
▪ 复选框(Checkbox)
提供简单的“on/off”开关,同时旁边还可以显示说明信息。当复选框状态发生变化时, 会产生ItemEvent事件,可以用ItemListener来监听。
图形用户界面(Graphical User Interface,GUI)
面向对象的图形用户界面:基于“面向对象”的思想互相
交换信息,即尽可能在屏幕上用形象的图标和窗口等来代表 有用的资源和可启用的对象。
图形界面对象:
图标(Icon) 窗口(Window) 菜单(Menu)/菜单项(Menu Item) 按钮(Button)、文本框(Label)、列表框(List)… ……
方法: setText(String text), getText(), append(String text) addActionListener(ActionListener l) removeActionListener(ActionListener l) MyFirstTA.java
AWT组件之Frame中添加其他组件
联,以确定其中组件的布局。 Container类可以通过 setLayout()方法设置某种布局方式。 常见的Container类有:Frame, Panel, Applet等。
1、AWT组件之容器类Container
Container类的定义: public abstract class Container extends Components{
AWT组件之Frame中添加其他组件TextArea
文本输入区(TextArea) ——TextComponent 可以显示多行信息,并且有滚动条支持。按回车键后并不产生事 件,如果要判断是否完成输入,需要用其他方法,如用一个结束 按钮。
javaGUI程序设计PPT学习教案
![javaGUI程序设计PPT学习教案](https://img.taocdn.com/s3/m/5d751c2605087632301212af.png)
第21页/共83页
2021年7月4日
\ch10\TestGridLayout.java
2021年7月4日
第22页/共83页
10.3.3 BorderLayout布局管理器
• BorderLayout的构造函数:
. .s.e-tLaByoorudt(enreLwaByoorudte(rL)a:生you成t()默); 认的边界布局
2021年7月4日
第15页/共83页
//TestFrame.java
2021年7月4日
class SimpleFrame extends JFrame{ public static final int WIDTH = 300; public static final int HEIGHT = 200;
- FlocwonLteantyPoanuet.(aidnd(tadadlBiugttnomn);ent):可以设 } 定每一行组件的对齐方式
- FlowLayout(int alignment,int horz,int vert):可以设定组件间的水 平和垂直距离 第19页/共83页
❖ Applet和面板的缺省布局:
水平和垂直距离 BBu-utttBtoononrbbdttnenWrELaesastty==onnueetww(iBnBuuttttthoonon(r(""z东西,i"n"));t; vert): 可以设定组件间的
Button btnNorth=new Button("北"); Button btnSouth=new Button("南");
2021年7月4日
精品课件-Java面向对象程序设计与系统开发-第13章 功能拓展-GUI
![精品课件-Java面向对象程序设计与系统开发-第13章 功能拓展-GUI](https://img.taocdn.com/s3/m/27c1d11cad51f01dc381f168.png)
f.setBackground(Color.green);//设置窗体的颜色
f.setVisible(true);//将窗体显示出来
// 按钮
定按钮
Button but1 = new Button("确定"); //创建一个确
消按钮
Button but2 = new Button("取消"); //创建一个取
❖ 常用方法:
下拉选项框(Choice)
import java.awt【.*例; 13-7】演示创建下拉选项框。 public class exam13_7{
public static void main(String[] args) {
Frame f = new Frame();
f.setTitle("我的GUI窗口");
frame.setLayout(null); //指定布局管理器,关于布局后面 我们将专题解
frame.setSize(20【0,例15103)-;6】创建文本框。 frame.setVisible(true); Label lblid=new Label("ID:",Label.CENTER);//居中对齐
❖ 常用方法
import java.awt.*;
public class exam13_3 extends Frame {
组件
public【st例at1i3c-3v】oi演d示ma面in板(S的t使ri用ng。args[]) { Button btn1=new Button("ame();
f.setTitle("我的GUI窗口"); f.setLay【ou例t(1n3u-l5l】);演/示/不标采签用的布使局用。
[javaSE]GUI(图形用户界面)
![[javaSE]GUI(图形用户界面)](https://img.taocdn.com/s3/m/ca4d343c443610661ed9ad51f01dc281e53a56d0.png)
[javaSE]GUI(图形⽤户界⾯)java为gui提供的对象都在java.Awt和javax.Swing包中Awt:抽象窗⼝⼯具包,依赖平台,调⽤系统的本地⽅法Swing:完全由java实现的轻量级⼯具库eclipse官⽅封装了⼀套Swt的控件包布局⽅式流式布局,边界布局,⽹格布局,卡⽚式布局,坐标式对齐,⾯板布局Frame获取Frame对象,new出来,构造参数:String的窗体标题调⽤Frame对象的setSize()⽅法,设置尺⼨,参数:int的宽度,int的⾼度调⽤Frame对象的setLocation()⽅法,设置位置,参数:int的x坐标,int的y坐标调⽤Frame对象的的setLayout()⽅法,设置布局,参数:Flowayout对象获取Button对象,new出来,构造参数:String的⽂本显⽰调⽤Frame对象的add()⽅法,添加⼀个控件,参数:Button对象调⽤Frame对象的setVisible()⽅法,参数:Boolean的true此时显⽰⼀个窗体,是⼀个⼦前台线程运⾏的,主线程已经结束了import java.awt.Button;import java.awt.FlowLayout;import java.awt.Frame;public class GuiDemo {/*** @param args*/public static void main(String[] args) {Frame frame=new Frame("我是窗体");frame.setSize(400,300);frame.setLocation(500,200);frame.setLayout(new FlowLayout());Button button=new Button("按钮");frame.add(button);frame.setVisible(true);}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.1.1 抽象窗口工具集AWT
AWT由下面几部分组成: Component(组件):按钮、标签、菜单等组件。 Container(容器):扩展组件的抽象类Window、Panel、Frame等。 LayoutManager(布局管理器):定义容器中各组件的放置位置和大小
等。 Graphics(图形类):与图形处理相关的类。
这些类都放在了java.awt包中。
13.1.1 抽象窗口工具集AWT
Component
Button Label Container CheckBox Choice TextComponent Canvas
Window
Panel
TextField
TextArea
Frame
Dialog
Applet
AWT的Component类结构
13.2.1 JFrame类
类型 void
void void Container void
方法名 setVisible(boolean v)
setLocation(int x,int y) setLocationRelativeTo(null) getContentPane() setDefaultCloseOperation(int o)
成对应的功能,从而实现一次事件的处理。
C ONTENTS
目录
13.1 图形用户界面概述 13.2 窗口 13.3 常用组件与布局 13.4 事件处理 13.5 对话框 13.6 小结
13.2.1 JFrame类
JFrame(窗口)类是Container(容器)类的间接子类。一个JFrame 对象就是一个窗口,可以容纳其他组件。JFrame类的常用方法:
类型
方法名
JFrame()
JFrame(String title)
void setTitle(String title) void setSize(int width,int height) void setRisizable(boolean r)
功能
构造一个初始时不可见的窗口 创建一个初始不可见的、指定 标题的窗口 设置窗口标题栏的内容 设置窗口的大小 设置是否可以改变窗口大小
13.1.2 Swing组件
ห้องสมุดไป่ตู้
Component Container
Window JComponen
t
Frame
Dialog
JFrame JDialog
JComponent部分类层次关系
JLabel
JList AbstractButton
JMenuBar JTable JPanel
JTextComponent JTree
功能
设置窗口是否可见,默认不可 见 设置窗口的位置(窗口左上角 坐标) 设置窗口居中显示
获取内容面板 设置在此窗口上发起 "close" 时默认执行的操作。
13.2.1 JFrame类
【例13.1】创建一个新窗口,定义该窗口大小为300*200,初始化 位置为200*200,并且大小不可调整。 Example13_01.java
JMenuItem(String text) JMenuItem(String text,Icon icon)
AWT的缺点是重量级组件,耗费资源多;图形用户界面依赖于本地系统,失去了统一的风格。
13.1.2 Swing组件
Swing组件是在AWT组件基础上发展而来的轻量级组件。 它提供了AWT所能提供的所有功能并进行了扩充。 组件均用Java语言进行开发。 界面风格统一,更为美观。 组件都放在javax.swing包中。
13.2.2 窗口菜单
2、JMenu类 JMenu(菜单)类,用于创建菜单。 一个菜单条中可以添加多个菜单对象。一个菜单中可以添加另一个菜单, 实现菜单的嵌套。 JMenu类的常用构造方法:
JMenu(String s)
13.2.2 窗口菜单
3、JMenuItem类
JMenuItem(菜单项)类用于创建 菜单项,每一个菜单中可以包含多个菜 单项。JMenuItem类的常用构造方法:
第13章
图形用户界面
Java程序设计
导读 Introduction
图形用户界面设计是程序设计的重要组成部分,Java语言提供 了丰富的组件来完成界面设计,并通过事件机制实现功能处理。
C ONTENTS
目录
13.1 图形用户界面概述 13.2 窗口 13.3 常用组件与布局 13.4 事件处理 13.5 对话框 13.6 小结
【例13.2】通过继承方式创建一个新窗口 Example13_02.java
13.2.2 窗口菜单
一个窗口菜单由多个组件共同构成。 1、JMenuBar类
JMenuBar(菜单条),用于创建一个菜单条。一个窗口中只能有一个 菜单条,并且只能添加到窗口顶端。
Frame添加JMenuBar的方法是: setJMenuBar(JMenuBar menubar)
13.1.1 抽象窗口工具集AWT
图形用户界面(Graphic User Interface,GUI)是 实现人机交互的窗口。
Java早期提供的AWT包(Abstract Window Toolkit,AWT)中包括了图形用户界面设计的基本类库,
它是Java设计GUI的核心,为用户提供基本的界面组 件。
JOptionPane
JButton JMenuItem JToggleButton
JTextField JTextArea JEditorPane
13.1.3 组件与事件
Java是以组件的形式进行界面设计的。 界面中的每一个组成部分都是一个组件,如按
钮、菜单、文本框、窗口等。 这些组件直接或间接继承自Component类。 Container容器类是一个特殊的组件,它用于
承载和显示其他组件。 其他组件按照一定的顺序或位置装入容器,才
能够显示和使用。
13.1.3 组件与事件
GUI事件处理机制。 ✓ 组件在容器中不能够直接工作,需要与完成的功能连接起来,才能实现
具体的功能,这就是Java的事件机制。 ✓ 在事件机制下,一个事件分为事件源、监听器和事件处理程序。 ✓ 监听器用于监听事件源。一个监听器可以监听多个事件源。 ✓ 监听器对象监听到事件源发生的事件后,就通知相应的事件处理程序完