Java语言程序设计实用教程第十三讲图形用户界面
Java图形用户界面:Swing和JavaFX的简单介绍
![Java图形用户界面:Swing和JavaFX的简单介绍](https://img.taocdn.com/s3/m/bd19d4826037ee06eff9aef8941ea76e58fa4a0b.png)
Java图形用户界面:Swing和JavaFX的简单介绍在计算机科学领域中,图形用户界面(GUI)是指通过图形、图像和视觉元素来与计算机程序进行交互的界面。
Java作为一种广泛使用的编程语言,提供了多种选择来构建图形用户界面。
其中,Swing和JavaFX是最常用的两种选择。
本文将对这两种Java GUI工具进行简单介绍,并探讨它们的特点和用途。
一、SwingSwing是Java提供的一套GUI工具包,旨在提供一种跨平台的解决方案。
它是在AWT(抽象窗口工具包)的基础上开发的,为开发者提供了一系列可重用的GUI组件,如按钮、文本框、标签等。
Swing的特点之一是其轻量级性能,它不依赖于操作系统的原生GUI组件,而是完全由Java代码实现。
这使得Swing应用程序可以在不同操作系统上以相同的方式运行,而无需进行任何修改。
Swing提供了丰富的组件库,使得开发者可以轻松构建复杂的用户界面。
它还支持可定制的外观和感觉,开发者可以根据自己的需求选择不同的外观主题。
此外,Swing还提供了一些高级组件,如表格、树形结构和滚动面板,使得开发者可以创建更复杂和功能强大的界面。
然而,Swing也有一些缺点。
由于其完全由Java代码实现的特性,Swing应用程序可能在性能方面存在一些问题。
尤其是在处理大量数据或复杂图形时,Swing的性能可能会受到影响。
此外,Swing的外观和感觉可能与操作系统的原生界面存在一些差异,这可能会对用户体验造成一定的影响。
二、JavaFXJavaFX是Java平台上的另一种GUI工具,它提供了更现代化和富有表现力的用户界面。
与Swing不同,JavaFX使用了一种基于场景图的方式来构建界面。
它通过使用FXML(一种基于XML的用户界面描述语言)和CSS(层叠样式表)来分离界面的结构和样式,使得界面的定制变得更加灵活和简单。
JavaFX提供了许多内置的UI组件,如按钮、文本框、标签等,这些组件具有更丰富的视觉效果和交互特性。
java用户图形界面课程设计
![java用户图形界面课程设计](https://img.taocdn.com/s3/m/35019e79182e453610661ed9ad51f01dc28157d0.png)
java用户图形界面课程设计一、课程目标知识目标:1. 学生能理解Java图形用户界面(GUI)的基本原理和设计方法;2. 学生能掌握Swing组件库的使用,包括常用组件的创建和布局管理;3. 学生能运用事件处理机制,编写响应鼠标和键盘事件的程序;4. 学生了解Java多线程在GUI编程中的应用。
技能目标:1. 学生能够运用Swing组件和布局管理器设计出结构清晰、界面友好的图形用户界面;2. 学生能够独立编写事件监听器,实现用户与程序的交互;3. 学生能够利用多线程技术优化GUI程序,提高程序响应速度。
情感态度价值观目标:1. 培养学生对Java编程的兴趣和热情,激发他们探索新技术的欲望;2. 培养学生面对问题积极思考、勇于创新的精神,增强他们解决问题的自信心;3. 培养学生团队合作意识,提高沟通与协作能力。
本课程针对高年级学生,在学生已掌握Java基本语法和面向对象编程的基础上,进一步学习图形用户界面设计。
课程性质为实践性较强的学科,注重培养学生的实际操作能力和编程思维。
教学要求强调理论与实践相结合,鼓励学生动手实践,培养他们解决实际问题的能力。
通过本课程的学习,学生将能够独立设计并实现具有良好用户交互性的Java图形用户界面程序。
二、教学内容1. Java图形用户界面基础- Swing组件库介绍- 常用组件的使用(如JButton、JTextField、JLabel等)- 布局管理器(如BorderLayout、FlowLayout、GridLayout等)2. 事件处理机制- 事件和事件监听器- 常用事件类型(如鼠标事件、键盘事件等)- 事件适配器和内部类3. 多线程与GUI编程- 多线程概念与原理- 线程的创建与控制- GUI程序中的线程同步4. 实践项目- 设计并实现一个简单的计算器程序- 制作一个简易的画图工具- 开发一个记事本应用程序教学内容依据课程目标进行选择和组织,遵循由浅入深、循序渐进的原则。
Java图形用户界面设计
![Java图形用户界面设计](https://img.taocdn.com/s3/m/e389b595d4d8d15abe234ea5.png)
13
(3) 事件监听器(Listener) 事件处理机制中的核心部分,主要的功能大致可以分为 两部分:第一,监听组件,观察组件有没有发生某类事 件;第二,如果监听的组件发生了某类事件,则调用对 应的动作处理方法立刻处理这个事件。 在Java事件处理机制中,监听器处于主体地位。与事件 分类对应,监听器也相应的分成若干种类型,例如,鼠 标事件对应鼠标监听器,键盘事件对应键盘监听器,窗 口事件对应窗口监听器等。
25
5.3.2 AWT组件库常用组件举例 【问题1】 在窗口f中,有一个文本框tf,三个按钮btn_1、 btn_2、btn_3。当使用鼠标点击btn_1时,文本框显示 btn_1按钮被点击,当使用鼠标点击btn_2按钮时,文本框 显示btn_2按钮被点击,当使用鼠标点击btn_3按钮或者窗 口f的关闭按钮时,窗口关闭,程序退出。
(4) Choice Choice表示下拉选择框组件,选择框中的每一个选项称 为一个Item,Item的类型一般为String字符串。 (5) Label Label表示标签组件,主要作用在于创建提示性的文本。
23
(6) MenuBar、Menu和MenuItem MenuBar表示菜单条组件,该组件由Menu菜单构成,而 Menu菜单又可由Menu菜单和MenuItem菜单项构成。 (7) TextField TextField表示文本框组件,与文本域组件不同的是, 文本框中只能有一行文本。 (8) TextArea TextArea表示文本域组件,可以容纳多行文本。
30
(3) JRadioButton和ButtonGroup 在Swing中与Checkbox对应的是JCheckBox,实际使用时, 如果需要创建单选框组的话,经常使用的是 JRadioButton而非JCheckBox。如果将多个JRadioButton 组件放在一个ButtonGroup中时,这些JRadioButton组件 将不再具有复选功能,而是只具有单选功能,也即变成 单选框。 (4) JComboBox JcomboBox对应于AWT中的Choice,表示下拉选择框组件, 选择框中的每一个选项称为一个Item,Item的类型一般 为String字符串,也可以是指定的泛型类型。
Java语言程序设计:第十章 Java图形用户界面
![Java语言程序设计:第十章 Java图形用户界面](https://img.taocdn.com/s3/m/73bb8b1c02d8ce2f0066f5335a8102d276a26100.png)
t}ryesflrs{eaetmD{teer.fypaau{cltkC(l)o; seOperation(EXIT_ON_CLOSE);
选中“ToGoelnUyke}DsiItrMt.caiegmtjefaebreamxtaeIcHtncnmDnLheeaistoea}ep((gidf)oE.ctae;veinkxoaurarAc单.ntcllsstcieo.dTnc击ephmpoardrtetmotLi(i“FneoeEleokte(nnFnS)xoieiSttl”ec(te;kla)}iC”exzA.cgceplkneaetT=dtipsoS“rFtsanicoSNecrnaeeeav)(exlem(){nc;ASeellp”(iz)t)ei保;o()n存;)源{ 文U件I和M工an程a文g件er.getS
边
有间距
CENTER
的 East
组 容se器tHgap(int hgap)
件
setVgap(int vgap)
组
将组件间的水平间距设置为指定的值
件
将组件间的垂直间距设置为指定的值
下边的组件
South
天津职业技术师范大学
BorderLayout
…… class testFrame extends JFrame {
天津职业技术师范大学
BorderLayout
North
左
边 West 的
组 容器
件
上边的组件 CENTER
下边的组件
South
右 边 的 East 组 件
天津职业技术师范大学
BorderLayout
North
方法
左 BorderLay边out( )
West 的
10_图形用户界面
![10_图形用户界面](https://img.taocdn.com/s3/m/b85afacb76a20029bd642df0.png)
容器类(Container)也是Component类的子类,它可以容纳其它组件,提供层 次化的复杂外观。
Window类和Panel类是容器类的子类,GUI设计的一个主要工作就是容器中 “摆放”组件。
计算机与信息技术学院
Java语言 程序设计
Swing组件层次关系
Java工程师系列
计算机与信息技术学院
(2)指定布局(Layout): 根据具体需要排列它们的位置关系。 (3)响应事件(Event): 定义图形用户界面的事件和各界面元素对不同事件的响应, 从 而实现图形用户界面与用户的交互功能。
计算机与信息技术学院
Java语言 程序设计
10.3 布局管理LayoutManager
Java工程师系列
10.1 图形用户界面概述
Java工程师系列
大部分交互式应用具有GUI外观。Java的外观由GUI组件构成, 例如窗口,菜单,按钮,滚动条,列表框等。
Java早期用AWT开发图形用户界面。AWT 是Abstract Window ToolKit (抽象窗口工具包)的缩写,其中包含了一套与本地操作系统 图形库交互的接口。
计算机与信息技术学院
Java语言 程序设计
布局管理器总结
Java工程师系列源自Frame Frame是一个顶级窗口。 Frame的缺省布局管理器为BorderLayout。 Panel Panel无法单独显示,必须添加到某个容器中。 Panel的缺省布局管理器为FlowLayout。 当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以有自 己的布局管理器。因此,可以利用Panel使得BorderLayout中某个区域 显示多个组件。
《Java语言程序设计》教案-第11章图形用户界面
![《Java语言程序设计》教案-第11章图形用户界面](https://img.taocdn.com/s3/m/973aff106bd97f192279e93a.png)
图形用户界面设计(Java)教学目标:掌握用于简单的图形用户界面设计的相关方法及原则,会简单的基于GUI的交互式应用程序的实现。
教学环境:计算机机房+多媒体教学方法:建构性教学+“建—仿—读—改—写”互动式教学方法(建:建立环境;仿:模仿程序;读:读懂程序;改:改写程序;写:自己编写程序)计划课时:8课时(4次, 21 22 23 24)具体实现步骤:●分发文档:给每一个学生发(1)一个已有的实例程序(编写好的完整的应用程序或以往学生的作品),(学生参考用);(2)一个不完整的应用程序(要学生当堂填写完整);(3)一些其他相关的练习应用程序(课后练习用)●提出要求:一人或两人一组独立完成;●当堂检查:教师在课上检查学生完成任务情况并记录●总结(教师汇总问题或由学生相互交流经验)总任务及情景:情景:一家公司想通过电话传送数据,但是担心电话会被窃听。
任务:现在要求程序员设计编写一个带图形用户界面的应用程序,对数据进行加密,以使数据传送更安全。
分任务:1.任务:创建一个自己的Welcome应用程序。
情景:一个好的欢迎界面,即体现设计者的个性又吸引用户、便要用户使用,让用户产生亲切感、信任感等,设计一个Welcome界面推销介绍自己的产品学习要点:●设置JFrame标签栏文本●改变JFrame的背景色●将JLabel放置在JFrame上●显示JLabel组件的文本●显示JLabel组件中的图片教学准备:学生知识水平:已学习了教材的前几个主题内容上课环节:创建一个自己的Welcome应用程序。
准备资料:教师用PPT补充思考:在该应用程序中如何添加其他图形组件,例如按钮组件?2.库存清单应用程序(介绍JTextField和Jbutton组件)任务:设计一个库存清单应用程序的图形用户界面,该程序用于计算某大学书店所收教材的总数量情景:某大学书店收到几箱教材。
在一批教材中,每箱教材的数量是相同的。
仓库管理员希望使用一台计算机来计算书店收到的每批教材的总数量。
图形用户界面
![图形用户界面](https://img.taocdn.com/s3/m/5abf7783011ca300a7c3907d.png)
Window Panel
ScrollPane
TextArea TextField
Dialog Frame
FileDialog
Component(组件)
Java的图形用户界面的最基本组成部分是组件 (Component),组件是一个可以以图形化的方式显 示在屏幕上并能与用户进行交互的对象,例如一个按 钮,一个文本框等。
10. f.add("East", new Button("East"));
11.
//第一个参数表示把按钮添加到容器的East区域
12. f.add("West", new Button("West"));
13.
//第一个参数表示把按钮添加到容器的West区域
14. f.add("Center", new Button("Center"));
LayoutManager (布局管理器)
为了使生成的图形用户界面具有良好的平台无关性, Java语言中,提供了布局管理器这个工具来管理组件 在容器中的布局,而不使用直接设置组件位置和大小 的方式。
每个容器都有一个布局管理器,当容器需要对某个组 件进行定位或判断其大小尺寸时,就会调用其对应的 布局管理器。
North区域缺少组件
West区域缺少组件
Center区域缺少组件
GridLayout
使容器中各个组件呈网格状布局
1. import java.awt.*;
2. public class ButtonGrid {
3. public static void main(String args[]) {
《Java语言程序设计-基础篇》答案-第13章
![《Java语言程序设计-基础篇》答案-第13章](https://img.taocdn.com/s3/m/4b10e13887c24028915fc392.png)
第13章 创建图形用户界面复习题13.1 答:Swing 组件中均定义了以下三个方法:z public void setBackground (Color bg),设置此组件的背景色。
z public void setForeground (Color fg),设置此组件的前景色。
z public void setFont (Font font),设置此组件的字体。
这三个方法原始定义在类javax.swing.JComponent 中。
13.2 答:方法如下:JButton btn = new JButton("OK"); //创建一个“OK”按钮btn.setText("确认"); //将按钮上的文字改为“确认”ImageIcon image = new ImageIcon("D:/b1.gif"); //创建图标对象btn.setIcon(image); //设置按钮上的图标为指定的image 对象13.3 答:由于在javax.swing.JComponent 类中定义了如下方法,因此,其子类均可以设置一个边框。
public void setBorder(Border border),设置此组件的边框。
给面板设置带标题的边框的语句如下:JPanel panel = new JPanel(); //创建面板对象TitledBorder border = new TitledBorder("Title"); //创建标题边框对象 panel.setBorder(border); //将panel 的边框设置为border说明:边框类均在javax.swing.border 包中,使用时要导入。
13.4 答:Component c1 = new Component();出错,原因是Component 是抽象类,不能创建对象JComponent c2 = new JComponent();课后答案网ww w.kh da w .c om出错,原因是JComponent 是抽象类,不能创建对象c5.add(c6);出错,原因是add 方法的声明为:public Component add (Component comp),不能接收Object 类型的参数。
java图形用户界面课程设计
![java图形用户界面课程设计](https://img.taocdn.com/s3/m/88f2c104302b3169a45177232f60ddccda38e6d1.png)
java图形用户界面 课程设计一、课程目标知识目标:1. 让学生理解Java图形用户界面(GUI)的基本概念和原理;2. 掌握使用Swing组件构建GUI应用程序的方法;3. 学会使用事件处理机制,实现用户与程序的交互;4. 了解布局管理器的作用,并能灵活运用。
技能目标:1. 培养学生运用Java Swing组件设计并实现简单GUI界面的能力;2. 培养学生运用事件监听器处理用户交互的能力;3. 提高学生运用布局管理器进行界面布局的能力;4. 培养学生运用调试工具解决GUI程序中的问题。
情感态度价值观目标:1. 培养学生对Java GUI编程的兴趣和热情;2. 培养学生养成良好的编程习惯,注重代码规范和可读性;3. 培养学生具备团队协作精神,善于沟通交流,共同解决问题。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握Java 图形用户界面编程的基本知识和技能。
学生特点:学生已具备一定的Java基础,了解面向对象编程思想,但对GUI 编程较为陌生。
教学要求:结合学生特点,注重理论与实践相结合,通过案例教学,引导学生动手实践,提高编程能力。
同时,关注学生情感态度的培养,激发学习兴趣,培养良好的编程习惯和团队协作精神。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java GUI基本概念与原理- 界面与组件的关系- Swing组件概述- 事件处理机制2. Swing组件的使用- 常用组件:按钮、文本框、文本域、标签、菜单等- 组件的属性设置与布局3. 事件处理- 事件监听器- 常用事件类型与处理方法4. 布局管理器- 流式布局管理器- 边界布局管理器- 网格布局管理器- 盒式布局管理器5. Java GUI程序调试与优化- 代码规范与可读性- 异常处理- 调试工具的使用6. 实践项目:制作一个简单的计算器- 界面设计- 事件处理- 程序调试与优化教学内容安排与进度:第一课时:Java GUI基本概念与原理,Swing组件概述第二课时:常用Swing组件的使用及属性设置第三课时:事件处理机制与事件监听器第四课时:布局管理器的使用第五课时:实践项目:制作一个简单的计算器(上)第六课时:实践项目:制作一个简单的计算器(下),程序调试与优化本教学内容与教材相关章节紧密关联,遵循由浅入深的顺序,确保学生能够系统地掌握Java图形用户界面编程的知识。
浅谈Java语言图形用户界面设计在菜单系统中的应用
![浅谈Java语言图形用户界面设计在菜单系统中的应用](https://img.taocdn.com/s3/m/a5aa3de06429647d27284b73f242336c1fb9305d.png)
浅谈Java语言图形用户界面设计在菜单系统中的应用摘要:随着图形用户界面的问世,计算机操作变得越来越直观,不需要再去记忆那些Ms-Dos环境中的繁琐命令,用户可以直接通过窗口中菜单、工具、快捷键来使用、操作计算机,实现了人机互动。
由于计算机的操作便利,它已经普及到全社会的每个角落,成为了人们工作、生活不可缺少的工具。
关键词:图形用户界面,Frame,MenuBar,ActionListener一、组件的创建与使用在窗口(Frame)中创建菜单条类(MenuBar)对象,菜单(Menu)类对象嵌入在菜单条类(MenuBar)对象中,下拉式(pull-down)菜单嵌入在菜单(Menu)类对象中。
MenuBar bar=new MenuBar();Menu mu1=new Menu("前景颜色");MenuItem q1,q2,q3,q4;二、事件处理及响应面对一个图形用户界面,最关键的是实现人机交互,接受用户的输入,执行相应的动作操作。
q1.addActionListener(this);q2.addActionListener(this);q3.addActionListener(this);q4.addActionListener(this);public void actionPerformed(ActionEvent e){……}三、图形用户界面编程的应用本案例通过图形用户界面编程实现文本格式化设置。
行号exmenu .java1import java.awt.*;import java.awt.event.*;public class exmenu extends Frame implementsActionListener {MenuBar bar=new MenuBar();Menu mu1=new Menu("前景颜色"),mu2=new Menu("背景颜色"),mu3=new Menu("帮助");MenuItem q1,q2,q3,q4,b1,b2,b3,o1;23456789 TextField tf1=new TextField(25);Font myfont=new Font("黑体",Font.BOLD +Font.ITALIC,40); String str="Java 语言程序设计";public exmenu() {super("菜单操作"); setLayout(new FlowLayout());setMenuBar(bar); bar.add(mu1);bar.add(mu2); bar.add(mu3);mu1.add(q1=new MenuItem("红色")); mu1.add(q2=new MenuItem("绿色"));mu1.add(q3=new MenuItem("蓝色")); mu1.add(q4=new MenuItem("灰色"));mu2.add(b1=new MenuItem("黄色")); mu2.add(b2=new MenuItem("黑色"));mu2.add(b3=new MenuItem("橙色"));10 11 12 13 14 15 16 17 181 9mu3.add(o1=new MenuItem("退出"));mu1.insertSeparator(3);add(tf1);tf1.setText(str);tf1.setFont(myfont);setSize(600,100);setBackground(Color.cyan);setVisible(true);q1.addActionListener(this);q2.addActionListener(this);q3.addActionListener(this);q4.addActionListener(this);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);o1.addActionListener(this); addWindowListener(new koWindowListener()); }public void actionPerformed(ActionEvent e)2 02 12 22 32 42 52 62 7282 93 03 13 23 33 43 53 63 73 83 9{if(e.getSource()==q1)tf1.setForeground(Color.red);else if(e.getSource()==q2)tf1.setForeground(Color.green);else if(e.getSource()==q3)tf1.setForeground(Color.blue);else if(e.getSource()==q4)tf1.setForeground(Color.gray);else if(e.getSource()==b1)tf1.setBackground(Color.yellow);else if(e.getSource()==b2)tf1.setBackground(Color.black);else if(e.getSource()==b3)tf1.setBackground(Color.orange);else if(e.getSource()==o1)System.exit(0);}class koWindowListener extends WindowAdapter4 04 14 24 34 44 54 64 74 84 95 05{public void windowClosing(WindowEvent e) {dispose();System.exit(0);}}public static void main(String args[]){new exmenu();}}15 25 35 45 55 65 75 85 96 06 16 26 36 46 56 66 76 86 97 07 17 27 374757677程序运行结果如图1,可单击窗口中“前景颜色”菜单设置文本颜色如图2,单击“背景颜色”菜单设置文本框颜色如图3,单击“帮助”菜单选择“退出”子菜单关闭窗口如图4。
Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理
![Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理](https://img.taocdn.com/s3/m/e6829e53b80d6c85ec3a87c24028915f804d84a7.png)
《Java面向对象程序设计案例教程》
7.2 Swing基础
• Swing组件是Java语言提供的第二代GUI设计工 具包,它以AWT为基础,在AWT内容的基础上 新增或改进了一些GUI组件,使得GUI程序功能 更强大,设计更容易、更方便。
• Swing与AWT有以下不同。
• (1) Swing是完全用Java语言编写的,所以称 Swing组件是轻量级组件,没有本地代码,不依 赖操作系统的支持,比AWT构件具有更强的实 用性。Swing在不同的平台表现一致,并且有能 力提供本地窗口系统不支持的其他特性。
《Java面向对象程序设计案例教程》 • Swing的类层次结构如图所示:
《Java面向对象程序设计案例教程》
• 3. 简单的范例 • 一个简单的Swing GUI应用程序。该程序生成一个窗
口, • 窗口中有一个标签,用于显示输出。 • (1) 程序代码: • 1. import java.awt.* ; • 2. import javax.swing.* ; • 3. public class SwingDemo • 4. { • 5. public static void main(String args[]) • 6. { • 7. JFrame fm = new JFrame("第一个Windows程序") ; • 8. JLabel label = new JLabel("这是第一个GUI程序") ;
• 教材例题7-12 利用组合框显示、选取地名。
• 教材例题8.2 ,例题8.3用不同方法生成JFrame窗口
《Java面向对象程序设计案例教程》
• 7.3.2 面板容器JPanel
• 面板JPanel也是Java中常用到的容器之一,面板是一种透明 的容器,既没有标题,也没有边框,就像一块透明的玻璃。 与JFrame不同,它不能作为最外层的容器单独存在,它首 先必须作为一个构件放置到其他容器中,然后再把它作为容 器,把其他构件放到其中。
java简单图形用户界面代码
![java简单图形用户界面代码](https://img.taocdn.com/s3/m/e70dbbd7a58da0116c17492a.png)
}catch(FileNotFoundException e1){
e1.getStackTrace();
}catch(IOException e2){
e2.getStackTrace();
}
}
}
if(e.getSource()==registerBtn){
JFrame re=new Register();
centerPanel11=new JPanel();
centerPanel12=new JPanel();
//标题
titleLbl=new JLabel("欢迎进入考试系统");
titleLbl.setFont(new Font("隶书",Font.BOLD,24));
northPanel.add(titleLbl);
if (name.equals("")){
JOptionPane.showMessageDialog(null, "用户名不能为空,请重新输入用户名", "用户名空提示", JOptionPane.OK_OPTION);
userTxt.requestFocus();
return;
}
else if (pwd.equals("")){
//定义组件
JPanel northPanel,southPanel,centerPanel,centerPanel1,centerPanel11,centerPanel12;
JButton loginBtn,registerBtn,cancalBtn;
JLabel userLbl,passwordLbl,titleLbl;
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语言中,提供了布局管理器这个工具来管理 组件在容器中的布局,而不使用直接设置组件位置和 大小的方式。
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)带参的构造方法:用一个字符串作为参数,此字符串将成为窗体的标题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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语言程序 设计实用教程 SISE
基本概念
组件(Component):可视化控件,例如文本框、复 : 组件 选框、列表框、按钮等称为组件,是 Java的图形用户 是 的图形用户 界面的最基本组成部分,组件不能独立地显示出来, 界面的最基本组成部分 必须将组件放在一定的容器中才可以显示出来 容器(Container):容器是一种特殊的组件,一种能 : 容器 够容纳其他组件或容器的组件。 –每个组件继承它的父容器的性质,如字体、颜色 –容器控制存放在其中的组件的位置 布局管理器(Layout Manager):为了使图形用户界 布局管理器 : 面具有良好的平台无关性,提供了专门用来管理组件 在容器中的布局的工具。
用户图形接口AWT
AWT(Abstract Window Toolkit)是一个独立平台的 窗口工具组件集,它依赖于对等组件(Peer),而对 等组件是一个本地 本地GUI组件 组件,由AWT类管理。AWT的 本地 组件 作用是给用户提供基本的界面组件,如按钮、列表框、 菜单等。 AWT最初只包括与本地对等组件相关联的组件,称为 称为 重量组件( 重量组件(Heavyweight Component),这些组件 ) 在它们自己的本地不透明窗口中绘制,用AWT创建的 外观在不同的操作系统平台上是不同。 应用外观在不同的操作系统平台上是不同 外观在不同的操作系统平台上是不同
3
Java语言程序 设计实用教程 SISE
13.1 图形用户界面组件
Java语言程序 设计实用教程 SISE
图形用户界面GUI (见P349图13-1)
至今为止所编写的Java程序只能从键盘输入,在控制 台屏幕上显示结果。 图形用户界面(GUI,Graphical User Interface)是 为应用程序提供一个图形化的界面,程序通过GUI与用 户交互,GUI能使一个应用程序具有与众不同的“外观” 与“感觉”,是目前应用程序大多数是采用的方式。
panel.add(textobj); textobj.setText(“yyyy-mm-dd”); String date=textobj.getText();
Java语言程序 设计实用教程 SISE
按钮(JButton)
当鼠标左键单击按钮组件时, 当鼠标左键单击按钮组件时,能触发特定的事 件 在Java中, 广义的按钮包括 中 广义的按钮包括:
命令式按钮(JButton) 命令式按钮 复选框(JCheckBox) 复选框 单选按钮(JRadioButton) 单选按钮 用法举例: 用法举例:CheckboxGroup cbg=new CheckboxGroup(); Checkbox check1=new Checkbox(“check1",cbg,true); Checkbox check2= new Checkbox(“check2",cbg,false); panel.add(check1); panel.add(check2);
Textbox TextArea Push button Label Check box Radio button Combo box List box
Java语言程序 设计实用教程 SISE
Swing组件 组件——基本控制 组件 基本控制
Buttons
Combo box
List Text fields
Java语言程序 设计实用教程 SISE
பைடு நூலகம்
用户图形接口Swing
Java基类(Java Foundation Classes,JFC)是 关于GUI组件和服务的完整集合,主要由5个API构 成:AWT、Swing、Java 2D、Drag and Drop、 Accessibility Swing是建立在AWT基础之上的,它利用了AWT 的底层组件,包括图形、颜色、字体、工具包和布 局管理器等。使用 使用AWT最好的部分来建立一个新 最好的部分来建立一个新 使用 的轻量组件集,而丢弃了AWT中有问题的重量组 的轻量组件集,而丢弃了 中有问题的重量组 件部分。 件部分 通过引入新特性和丰富的功能,Swing提供了比 提供了比 AWT更全面的组件集合。Swing API是围绕实现 更全面的组件集合。 更全面的组件集合 AWT各个部分的API构建的,这保证了所有早期的 AWT组件仍然可以使用。
Java语言程序 设计实用教程 SISE
JFC的两个特性
javax.swing.plaf:提供一个接口和许多抽象类, Swing 用它们来提供自己的可插入外观功能 可插入外观功能。例如可 可插入外观功能 用提供本地操作系统的外观,在Windows上执行应用, 看上去像是专为Windows环境定制,其它Linux、 UNIX也类似。 拖拽与放置(Drag-and-Drop):把数据从源 转变到目 拖拽与放置 标。源和目标可以是两个不同应用的控件,还可在剪 贴板之间来回传递数据。java.awt.dnd和 java.awt.datatransfer包可用于拖拽与放置操作
Slider Menu
Java语言程序 设计实用教程 SISE
Swing组件 组件——信息显示 组件 信息显示
Label
Progress bar
Tool tip
Java语言程序 设计实用教程 SISE
Swing组件 组件——可编辑格式化信息显示 组件 可编辑格式化信息显示
Color chooser
Java语言程序 设计实用教程 SISE
标签(JLabel)
标签
提供文本(主要 或图像(也可以 为GUI提供文本 主要 或图像 也可以 信息 提供文本 主要)或图像 也可以)信息 对应类(JLabel) (JComponent的子类 的子类) 对应类 的子类 可以显示: 可以显示
单行的只读的文本信息 图像 同时显示文本与图像信息
–WinUI:标准的MS Windows或X-Windows的应用系统,应 用使用来自操作系统的GUI元素和其它加入的元素 –WebUI:Web应用系统,基于浏览器操作
Java语言程序 设计实用教程 SISE
Java程序图形界面的坐标设置 程序图形界面的坐标设置
原点(0,0)
X轴
Y轴
Java语言程序 设计实用教程 SISE
Java语言程序 设计实用教程 SISE
Swing应用程序基本结构 应用程序基本结构
引入Swing 包: 引入 import javax.swing.*; import java.awt.*; import java.awt.event.*; 选择Look&Feel 选择 设置窗口布局 设置窗口容器JFrame、JPanel 、 设置窗口容器 设置Swing组件,将其加入JPanel 组件,将其加入 设置 组件 注意: 的默认大小为0× 并且是不可见的 并且是不可见的, 注意:JFrame的默认大小为 ×0并且是不可见的,用 的默认大小为 setBounds方法设置框架的大小,setVisible(true)显示窗口 方法设置框架的大小, 方法设置框架的大小 显示窗口
JTextArea JTextField JPasswordField … JCheckBox JToggleButton JRadioButton JButton JMenuItem
Java语言程序 设计实用教程 SISE
JComponent
组件类的层次结构
ng.Object | +ponent | +--java.awt.Container | +--javax.swing.JComponent
Java语言程序 设计实用教程 SISE
Swing中的 中的Look&Feel 中的
Java look and feel
CDE/Motif look and feel
Windows look and feel
Java语言程序 设计实用教程 SISE
Swing中的 中的Look&Feel 中的