Java面向对象程序设计第10章JavaSwing图形用户界面
Java图形用户界面Swing编程
Java图形用户界面Swing编程Java图形用户界面(GUI)Swing编程Java的Swing是一种强大的GUI编程工具,可以帮助开发者创建直观且具有交互性的用户界面。
本文将介绍Swing的基本概念、使用方法以及一些常见的Swing组件。
一、Swing的概述Swing是Java提供的一套图形用户界面工具包,它基于Java的AWT(Abstract Windows Toolkit)而开发,提供了更多功能丰富和更美观的GUI组件。
Swing可以运行在多个平台上,并且具备跨平台性,这也是Swing广泛应用的原因之一。
二、Swing的使用方法1. 导入Swing库在编写程序时,需要导入Swing库。
可以使用如下代码导入Swing 库:```import javax.swing.*;```2. 创建Swing窗口使用Swing创建窗口的步骤包括创建顶层容器、设置布局管理器、创建组件和添加组件等。
下面是一个简单的例子,展示了如何创建一个Swing窗口:```public class MyWindow extends JFrame {public static void main(String[] args) {MyWindow window = new MyWindow();window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);window.setSize(300, 200);window.setVisible(true);}}```三、常见的Swing组件1. JLabel组件JLabel是Swing中常用的组件之一,用于显示文本或图像。
可以使用如下代码创建一个JLabel组件并将其添加到窗口中:```JLabel label = new JLabel("Hello, World!");window.add(label);```2. JTextField组件JTextField是一个文本输入框组件,用户可以在其中输入文本。
JAVA第十章 图形用户界面(2)
5.2 添加组件 ——GUI程序编程步骤2
• JDK1.5 以前,Swing组件不能直接添加 到顶层容器(如JFrame)中,必须添加到 JFrame中一个叫做内容窗格(Content Pane)的对象中。 • 这种设计思想并不好,所以JDK1.5后可 以直接把Swing组件直接添加到顶层容 器中。
JScrollBar
JDialog AbstractButton JToggleButton JCheckBox JRadioButton JMenuItem JMenu JButton
4
• Swing中几乎所有组件都是从 JComponent衍生而来,也就是说这些 组件都是lightweight Component,均由 纯java所编写而成 。 • Swing中以下几个组件不是由 JComponent继承面来: • JFrame,JDialog,JWindow,JApplet • 以上四个组件是heavyweight Component
导入必要的包,一般还需导 入: import javax.swing.*; import java.awt.*; public class HelloSwing { import java.awt.event.*; 设置一个 public static void main(String[] args) { 顶级容器 JFrame frame = new JFrame("HelloSwing"); JLabel label = new JLabel("你好,Swing"); 创建一个 Swing组 frame.add(label); 件 将组件添加到 frame.setDefaultCloseOperation 顶层容器 (JFrame.EXIT_ON_CLOSE); frame.setSize(300,200); frame.setVisible(true); } } 实现了在单击“关闭”按钮 时, 可以关闭窗口
Java语言基础教程(张化祥):第十章图形用户界面
程序”Hello,World!”
//SimpleApplet.java import java.awt.*;//这个import语句用于所有的applet import java.applet.*; public class SimpleApplet extends Applet{ public void paint(Grapics g){ g.drawString(“Hello,World!”,20,20);//用于字符串输出到 applet窗口; } } applet程序有两种运行方式,一种是将代码嵌入到HTML文本中, 或者使用Java集成开发工具,如JBuilder,Eclipse等。JDK中也包 含了appletviewer,是查被添加到容器中时,需要对其布局进行设 置。Java Swing应用程序使用的布局管理器(Layout Manager)来对Container对象进行布置。使用布局管理 器时,需要用setLayout()方法来覆盖默认的布局管理 器,以适应于JPanel(FlowLayou)以及 JFrame(BorderLayout)容器。
10.1 图形用户界面概述
组件是面向对象思想和现代软件工程发展的产物,它 集成封装一定的功能模块,可以通过预定义的接口操 作、访问,具有良好的可重用性,在目前的软件行业 中具有十分重要的地位。 容器的作用是容纳组件或者容器,可以使用容器容纳 一般的组件以完成特定的需要。最普通的容器就是窗 口,而窗口中的按钮,菜单等,都是其中的组件。在 Java中,单独的组件不能单独构建应用程序,只有使 用容器,才能使组件具有的功能在应用程序中发挥作 用。
BorderLayout FlowLayout GridLayout GridBagLayout BoxLayout
Java语言程序设计:第十章 Java图形用户界面
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 的
Java图形用户界面(GUI)编程Swing和AWT库的使用
Java图形用户界面(GUI)编程Swing和AWT库的使用在编程领域,图形用户界面(Graphical User Interface,简称GUI)是一种通过图形、图像和图标等可视化元素与用户进行交互的界面形式。
Java作为一种跨平台的编程语言,提供了多种库和框架来实现GUI编程的需求。
其中,Swing和AWT是两个常用的Java GUI库,它们提供了丰富的组件和功能来创建用户友好的界面。
本文将重点介绍Java Swing和AWT库的使用,帮助读者了解和掌握这两个库的基本用法。
一、Swing库的使用Swing库是Java提供的一个基于AWT库的GUI工具包,它提供了丰富的组件和功能来创建交互式的图形界面。
下面将介绍几个常用的Swing组件及其使用方法。
1. JFrame窗口JFrame是Swing中最基本的容器,它代表了一个窗口。
我们可以使用JFrame类创建一个窗口,并在其中添加其他的组件。
以下是一个示例代码:```javaimport javax.swing.*;public class MyFrame extends JFrame {public MyFrame() {setTitle("My Frame");setSize(300, 200);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {public void run() {new MyFrame();}});}```在这个例子中,我们创建了一个名为"My Frame"的窗口,并设置了窗口的大小为300x200像素。
通过调用`setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)`方法,我们将在用户关闭窗口时退出程序。
JavaSwing形用户界面框架解读
JavaSwing形用户界面框架解读JavaSwing形用户界面框架(Java Swing GUI framework)是一种在Java平台上开发图形用户界面的框架。
它为开发人员提供了一套丰富的GUI组件,使得开发人员能够轻松创建交互式的应用程序。
本文将对JavaSwing形用户界面框架进行深入解读,探索其特点、用途和使用方法。
1. 框架概述JavaSwing形用户界面框架是由Oracle公司提供的一套Java类库,用于创建图形用户界面(GUI)。
它建立在AWT(Abstract Window Toolkit)之上,提供了更强大、更丰富的功能和更好的跨平台支持。
Swing框架主要用于开发桌面应用程序,能够创建包含按钮、标签、文本框、下拉列表等各种GUI组件的界面。
2. 特点与优势2.1 跨平台性JavaSwing形用户界面框架能够在不同操作系统上提供相同的外观和行为,实现了真正的跨平台性。
这使得开发人员不必为不同的操作系统编写特定的代码,减少了开发和维护的工作量。
2.2 可定制性Swing框架提供了一系列可自定义的组件,开发人员可以根据自己的需求对组件的外观和行为进行调整。
这种灵活性使得开发人员能够创建独特而个性化的用户界面。
2.3 丰富的组件库JavaSwing形用户界面框架提供了丰富的组件库,包括按钮、文本框、标签、下拉列表、表格等常见的GUI组件。
这些组件易于使用且功能强大,可以满足各种应用程序的需求。
2.4 强大的布局管理器Swing框架提供了多种布局管理器,如边界布局、流式布局、网格布局等。
这些布局管理器可以帮助开发人员轻松地设计和组织用户界面的布局,实现界面元素的自适应和灵活排列。
3. 使用方法3.1 导入Swing库在使用JavaSwing形用户界面框架前,首先需要导入Swing库。
可以使用如下语句导入Swing库:```javaimport javax.swing.*;```3.2 创建主窗口在Swing中,通常需要创建一个主窗口作为应用程序的入口。
JavaSwing图形用户界面的设计与实现方法
JavaSwing图形用户界面的设计与实现方法一、引言随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)在软件开发中扮演着越来越重要的角色。
作为用户与软件之间的沟通桥梁,GUI的设计与实现至关重要。
本文将介绍JavaSwing图形用户界面的设计与实现方法,帮助开发人员更好地利用JavaSwing创建出功能强大、用户友好的GUI界面。
二、Swing概述JavaSwing是Java提供的一套GUI组件库,它基于Java AWT (Abstract Window Toolkit)构建而成,相对于AWT,Swing提供了更加丰富的组件和更高的灵活性。
Swing拥有独立于平台的外观,通过Java代码实现GUI界面的构建和事件处理。
使用Swing可以快速实现各种界面风格,并且易于调整和扩展。
三、Swing组件的使用1. 容器类组件:容器类组件是其他组件的父容器,对应于应用程序的窗口或面板,常用的容器类组件有JFrame、JPanel、JDialog等。
通过创建容器类组件,可以将其他组件添加到容器中并管理和布局。
2. 基本组件:基本组件是构建GUI界面的基本元素,常用的基本组件有JButton、JLabel、JTextField等。
它们可以用于实现用户输入、数据展示、按钮点击等交互操作。
3. 高级组件:高级组件是Swing提供的一些特殊功能的组件,如JTable、JTree、JFileChooser等。
它们可以用于展示表格、树状结构、文件选择等复杂的用户交互功能。
四、事件处理为了响应用户的操作,GUI界面需要进行事件处理。
在JavaSwing中,事件处理分为两个阶段:事件生成和事件响应。
当用户与界面进行交互时,会生成相应的事件,如按钮点击、鼠标移动等。
开发人员需要实现事件的监听器,并在事件发生时触发相应的操作。
五、界面布局界面布局是指组件在容器中的排列方式。
在Swing中,界面布局主要通过布局管理器(Layout Manager)实现。
Java Swing图形用户界面
JTextField和JPasswordField用来接收键盘的输入 或输出显示信息,都只有一行区域。 JPasswordField中显示用户的输入,但隐藏字符。 在JTextField和JPasswordField中输入数据后按 Enter键会激发一个事件。 如果程序注册了相应的事件监听器,监听器负责 处理事件。
Java 程 序 设 计
基于Swing的GUI开发
浙江工业大学软件学院
主讲教师:赵小敏
zxm@
1
Swing概述
• Swing是Java Foundation Classes(JFC) 的 重要组成部分。JFC包括了开发GUI所需的组 件和服务,包含如下五部分: AWT Java 2D Accessibility Drag and Drop Swing
在键盘上的按键被按下或释放时,生成按键事件。 按键事件的事件监听器接口是KeyListener。 KeyListener接口的方法。 如果需要判断键盘上的特定键,KeyEvent类提 供了键盘上每个键的常量用来判断是否按下了特 定的键。
19
JTextArea
支持多行文本的操作
ng.Object -ponent --java.awt.Container ---javax.swing.JComponent ----javax.swing.text.JTextComponent -----javax.swing.JTextArea 构造方法如下: JTextArea() JTextArea(int rows, int columns) JTextArea(String text)
25
常用中间容器
1.面板(JPanel) 面板(JPanel)是一个轻量容器组件,用 法与Panel相同,用于容纳界面元素,以便 在布局管理器的设置下可容纳更多的组件, 实现容器的嵌套。Jpanel, JscrollPane, JsplitPane, JinteralFrame都属于常用的 中间容器,是轻量组件。Jpanel的缺省布 局管理器是FlowLayout。
第10章 Java图形用户界面
器,具有指定的对齐方式以及指定的水平间隙hgap和垂直间隙vgap 。 align是对齐方式的可选项,align的可取值有FlowLayout.LEFT、 FlowLayout.RIGHT、FlowLayout.CENTER、FlowLayout.LEADING 和FlowLayout.TRAILING。
public static final int WIDTH = 300; public static final int HEIGHT = 200;
//自定义窗体类
public MyPanelFrame() {
setTitle("面板JPanel测试");
//设置窗体标题
setSize(WIDTH, HEIGHT);
➢ public void setSize(int width, int height) :设置窗体大小。
➢ public void setVisible(boolean flag):设置窗体是否可见,true为可见。
➢ public void setResizable(boolean flag):设置窗体大小是否可调整,true为可调 整。
public MyFramookit工具包类提供了很多实用方法
Toolkit kit = Toolkit.getDefaultToolkit();
// 获取屏幕大小
Dimension screenSize = kit.getScreenSize();
int screenHeight = screenSize.height;// 屏幕高
Java程序设计图形用户界面ppt课件
▪ AWT中最灵活、最复杂的布局管理器,各组件所占空 间可以不相同且灵活规定,参见参考书及API文档;
.
17
第10章 图形用户界面
容器的嵌套使用举例
范例:NestedContainer.java
.
18
第10章 图形用户界面
默认布局管理器
Component Container
些空的方法体。
.
27
第10章 图形用户界面
10.3.4 内部类及匿名类在事件处 理中的应用
在Java事件处理程序中,由于与事件相关的事件 监听器的类经常局限于一个类的内部,所以经常 使用内部类。而且定义的内部类在事件处理中的 使用就实例化一次(在其他地方不会用到该类,所 以不需要类名),所以经常使用匿名类。
.
25
第10章 图形用户界面
10.3.2 事件监听器的注册
注册事件监听器只需要使用组件对象的 addXXXXEvent方法,它可以指明该对象感兴趣的 事件监听器(即实现了某个AWTEventListener子 接口的对象)。这样,当事件源发生了某种类型 的事件时,则触发事先已注册过的监听器中相应 的处理程序。
Window
Frame
Dialog
Panel Applet
BorderLayout
FlowLayout
.
19
第10章 图形用户界面
布局管理器总结(1)
▪ Frame
Frame是一个顶级窗口。 Frame的缺省布局管理器为BorderLayout。
▪ Panel
Panel无法单独显示,必须添加到某个容器中。 Panel的缺省布局管理器为FlowLayout。 当把Panel作为一个组件添加到某个容器中后,该Panel仍然可以
零点起飞学Java之图形用户界面.pptx
10.3.1 默认管理器BorderLayout
BorderLayout布局管理器将容器划分为东(East)、 西(West)、南(South)、北(North)、中 (Center)五个区域。它是Frame类的默认布局管理 器。采用BorderLayout布局时,向容器中添加组件需 要指定组件所在的区域。BorderLayout类的构造方法 主要有如下几种。
10.2 界面容器
容器是用来存放其他组件的一种特殊组件。在Java语 言中,所有容器类都是Container类的子类。 Container类继承了Component类,该类的两个常用子 类是Frame和Panel类。Frame和Panel类代表两种不同 类型的容器,下面分别进行介绍。
10.2.1 框架窗口类Frame
Panel相关的AccessibleContext。
10.3 布局管理器
布局管理器用于布局容器中的组件,包括设定组件 的位置和尺寸大小等。每个容器被创建后,都会有 一个默认布局管理器。另外,可以设置指定的布局 管理器对组件进行管理。Java语言的AWT包提供了 不同类别的布局管理器,包括BorderLayout、 FlowLayout、CardLayout等,下面分别进行介绍。
第10章 图形用户界面
图形用户界面(Graphical User Interface)简称GUI, 提供了一种更加直观、友好的与用户进行交互的方 式。利用Java语言进行图形用户界面操作主要由 java.awt和javax.swing两个包来完成。其中,AWT包 是图形用户界面处理的基本工具包,Swing包在AWT 包的基础上进行了升级、扩展,具有更加强大的图 形界面开发功能。
10.3.1 默认管理器BorderLayout
Java面向对象程序设计第10章_Java Swing图形用户界面
public String getActionCommand() ActionEvent对象调用该方法可以获取发生
ActionEvent事件时,和该事件相关的一个命令字符串。
例题10-4,例题10-5
2010-1-10 9
§10.3.2文本框上的ActionEvent事件_续
2010-1-10
2Байду номын сангаас
§10.1 Java Swing概述
Java 的 java.awt 包 , 即 Java 抽 象 窗 口 工 具 包 (AWT:Abstract Window Toolkit)提供了许多用来 设计GUI的组件类。
2010-1-10
3
§10.2 窗口
Java提供的JFrame类的实例是一个底层容器,即 通常所称的窗口。其他组件必须被添加到底层容器中, 以便借助这个地层容器和操作系统进行信息交互。 JFrame类是Container类的间接子类。当需要一个 窗口时,可使用JFrame或其子类创建一个对象。
§10. 3 文本框 使用JComponent的子类JTextField创建文本 框。 文本框的特点是允许用户在文本框中输入单 行文本。
2010-1-10
7
§10.3.1 JTextField类的主要方法
JTextField() 创建文本框,文本框的长度为一个机器字符长。 JTextField(int x) 创建文本框,文本框的长度为x个机器字符长。 TextField(String s ) 创建文本框,文本框的初始字符串为s。 public void setText(String s) 设置文本框中的文本为参数s指定的文本。 public String getText() 获取文本框中的文本。 public void setEditable(boolean b) 指定文本框的可编辑性。文本框默 认为可编辑的。 setHorizontalAlignment(int alignment) 设置文本框中文本的对齐方式, 其 中 alignment 的 有 效 值 是 JTextField.LEFT、JTextField.CENTER、 JTextField.RIGHT 。 public void addActionListener(ActionListener) 向文本框增加动作监 视器(将监视器注册到文本框)。 public void removeActionListener(ActionListener) 移去文本框上的动 作监视器。
chapter 10 Java Swing 图形用户界面1
8
10.2 窗口
Java 提供的 JFrame 类的实例是一个底层容器, 即通常所称的窗口。其他组件必须被添加到底层 容器中,以便借助这个地层容器和操作系统进行 信息交互。 JFrame 类是 Container 类的间接子类。当需要一 个窗口时,可使用 JFrame 或其子类创建一个对象。
移除所有组件
设置布局 得到现有布局 设置边框
标签
1.创建标签 标签(JLabel)的功能是显示单行的字符串,可 在屏幕上显示一些提示性、说明性的文字。例 如,在列表框的旁边加上一个标签,说明列表 框的功能。
标签
2.标签的构造方法
(1)JLabel() 该方法用来创建一个没有显示内容的对象。 (2)JLabel(String label) 该方法用来创建一个显示内容 为label的对象。 (3)JLabel(String label, int alignment) 该方法除了用来 创建一个显示内容为label的对象外,还设置了Label的 对齐方式。 Label的对齐方式有三种,分别用JLabel类的三个常 量LEFT、CENTER和RIGHT来表示左对齐、居中对齐 和右对齐。 (4) JLabel (Icon ico) 建立一个JLabel对象,其初始图 标为ico,没有标题。 (5) JLabel (String txt, Icon ico ,int halign) 功能:建立 一个JLabel对象,其初始标题为txt,初始图标为ico, 水平对齐方式为halign。
void setLocation(int x, int y)
void setSize(int width, int height) void setVisible(boolean b)
10 第10章 基于Swing的图形用户界面设计
2021/9/24
第10章 基于Swing的图形用户界面设计
划分出来的小格中。 ❖ 一般步骤:
使用GridLayout的构造方法GridLayout(int m,int n)创建 布局对象,指定划分网格的行数m和列数n,
例如: GridLayout grid=new new GridLayout(10,8);
使用GridLayout布局的容器调用方法add将组件加入容器, 组件进入容器的顺序将按照第一行第一个、第一行第二 个、…、第一行最后一个、第二行第一个、…、最后一行第 一个、…、最后一行最后一个。
域再放置一个组件,那么先前的组件将被后者替换掉。
2021/9/24
第10章 基于Swing的图形用户界面设计
第 19 页
【例10-3】
2021/9/24
第10章 基于Swing的图形用户界面设计
第 20 页
3.CardLayout 布局 ❖ 使用CardLayout 的容器可以容纳多个组件,但同一时刻容
2021/9/24
public static KeyStroke getKeyStroke(char keyChar) public static KeyStroke getKeyStroke(int keyCode, int
modifiers) keyCode取值范围:KeyEvent.VK_A~ KeyEvent.VK_Z 。 modifiers 取值: InputEvent.ALT_MASK、 InputEvent .CTRL_MASK、 InputEvent .SHIFT_MASK。