§4.1 图形用户界面和Swing常用组件


§4.1 图形用户界面和Swing常用组件
内容提要 :
图形用户界面(Graphics User Interface,简称GUI)画面生动、操作简单, 省去了字符界面用户必须记忆各种命令的麻烦,所以深受广大用户喜爱 和欢迎。在Java中,可以使用AWT技术与Swing技术进行图形用户界面 开发。本小节的主要内容包括:
下图对JComponent分支做了细化,描述了JComponent层 次下的用户界面处理组件和用户界面容器组件。
Component Container JComponent
JComboBox JLabel
JTextComponent JPopupMenu AbstractButton JPanel JList
(2) Javax.swing. JPasswordField类的常用方法有: JPasswordField (String text) JPasswordField (String text, int columns) void setEchoChar(char c)
(3) Javax.swing. JTextArea类的常用方法有: JTextArea(String text) JTextArea(String text, int rows, int columns) void setLineWrap(boolean wrap)
JTextField和JPasswordField提供一个处理单行文 本的区域,用户可以通过键盘在该区域中输入 文本,或者程序将运行结果显示在该区域中。 JPasswordField是JTextField的子类,主要用于用 户密码的输入,因此它会隐藏用户实际输入的 字符。与JTextField(包括JPasswordField)只能处 理单行文本不同,JTextArea可以处理多行文本。
JScrollPane(Component view)
void setHorizontalScrollBarPolicy(int policy)
void setVerticalScrollBarPolicy (int policy)
4.1.3 Swing常用组件
8.JTextField、JTextArea和JPasswordField
4.1.3 Swing常用组件
7.JScrollPane 滚动条(Scroll Bar)是一种直观而简单的控制组件,可以
用它来实现窗口的滚动。在Swing中,JScrollPane类用 来实现滚动条。默认情况下,JScrollPane只在需要滚动 条的时候才显示它们。 Javax.swing. JScrollPane类的常用方法有:
JCheckBox类的常用方法有: JCheckBox (String text) void setLabel(String text) void setSelected(boolean b)
4.1.3 Swing常用组件
5.JRadioButton
单选按钮(JRadioButton)与复选框的相同之处在于它们也有两种状态:选 中和未选中。然而,单选按钮通常是成组出现,一次只能选中该组中的 一个单选按钮,也就是说,选择一个单选按钮将迫使该组的所有其它按 钮都处于未选中状态。Javax.swing.ButtonGroup类负责组织一组按钮(包 括JRadioButton、JCheckBox、JButton等),并维护这些按钮间的逻辑关 系。需要注意的是,必须用ButtonGroup类将一组相关的单选按钮组织 起来,否则这组单选按钮就不是“单选”的了,而是象复选框一样可以 同时选择多个。
4.1.3 Swing常用组件
3.JButton JButton类用于创建普通按钮。按钮表面所显示的文本称为按钮标签。在一
个图形界面中可以有多个按钮,但应该确保为每个按钮提供唯一的按钮 标签,否则会使用户感到迷惑。另外,按钮也支持显示图标。 Javax.swing. JButton类的常用方法有:
Javax.swing. JRadioButton类的常用方法有:
JRadioButton (String text)
void setLabel(String text)
void setSelected(boolean b)
4.1.3 Swing常用组件
6.JComboBox 组合框提供一列选项,用户可以在这些选项中进行单项
CellRendererPane
JComponent
Java.awt.Panel
Java.awt.Window
容器类组件 处理类组件 Java.applet.Applet Java.awt.Dialog Java.awt.Frame JWindow
JApplet
JDialog
JFrame
4.1.1 AWT与Swing
项目引入
HNS软件学院开发部应学院财务处的要求为其 开发一套计算器软件,要求实现一些财务方面 的计算功能。在前面对Java语言的基础知识学 习的前提下,使我们具备了编制该计算器软件 的基本能力。但是,不能提供一个操作简便、 直观的图形化交互界面。因此,为了改进计算 器的交互界面,需要使用Java中GUI功能来加以 改进交互界面。现指派您使用本章将要学习的 有关Java的GUI技术实现计算器软件交互界面的 改进。
1.AWT与Swing介绍
2.容器的基本概念
3.Swing常用组件介绍:JFrame、JLabel、JButton、JCheckBox、 JRadioButton、JComboBox、JScrollPane、JTextField、JTextArea和 JPasswordField。
4.1.1 AWT与Swing
Button Canvas CheckBox Choice Label
List TextComponent Scrollbar
Container
Panel Applet
Window
Frame
Dialog
4.1.1 AWT与Swing
使用AWT设计的界面在不同的平台上有可能有不同的显 示效果。为了解决这个问题,在Java2中发布了Swing组 件。使用Swing组件的程序运行在不同的平台上时,都 会有相同的显示外观。Swing组件允许程序员为所有的 平台指定统一的外观和感觉,或者为每个平台提供定 制的外观和感觉。另外,和AWT相比,Swing提供了许 多新的图形界面组件,不但有各式各样先进的组件, 而且更为美观易用。虽然Swing似乎看起来比AWT有更 大的优势,但程序员究竟是选择AWT组件还是Swing组 件,可能需要根据实际的软件开发而定。
4.1.3 Swing常用组件
2.JLabel 标签可以用来显示文本信息和图标。在Swing中,标签由JLabel来定义。 Javax.swing.JLabel类的常用方法有: JLabel(String text) JLabel(Icon image) Jlabel(String text, Icon icon, int horizontalAlignment) void setText(String text) void setIcon(Icon icon) void setToolTipText(String toolTipText) setHorizontalTextPosition(int textPosition) setVerticalTextPosition(int textPosition)
选 择 。 在 Swing 中 , 组 合 框 由 JComboBox 类 实 现 。 Javax.swing. JComboBox类的常用方法有: JComboBox(Object[] items) void addItem(Object object) void setSelectedIndex(int index) void setMaximumRowCount (int count)
图形用户界面(Graphics user interface),简称GUI,它以图形 的方式,借助菜单、按钮等标准图形界面元素和鼠标操作, 帮助用户向计算机系统发出命令,并以图形的方式将命令 执行结果反馈给用户 。
设计和实现用户图形界面主要有两方面的工作:
①创建组成界面的各部分和元素,指定它们的属性和位置关 系,根据具体需要排列它们,从而构成g
Swing是架构在AWT之上的,没有AWT就没有Swing。 Swing是AWT的扩展,Swing组件都是AWT的Container 类的直接子类和间接子类。下图描述了Swing的层次结 构:
ng.Object
ponent
Java.awt.Container
②定义图形用户界面的事件和各界面元素对不同事件的响 应,从而实现图形用户界面与用户的交互功能。(关于事 件的概念,请参看本章第四节的相关内容。)
4.1.1 AWT与Swing
AWT(Abstract Window Toolkit)的全称是抽象窗 口工具集。 AWT的层次关系如下图:
ponent
add(Component c)
add(Component c, int index)
remove(Component c)
remove(int index)
setLayout(LayoutManger m)
4.1.3 Swing常用组件
1.JFrame
JFrame是一个顶层容器,它的外观就像我们平常在Windows操作系统下 见到的窗口,有标题、边框、菜单、大小等等。JFrame 窗口由三部分 组成:Frame(框架)、 Menu Bar(菜单栏)和Content Pane(内容面板)。在 菜单栏中可以添加各种菜单及子菜单,在内容面板可以添加各种常见 Swing组件。
JButton(String text) JButton(Icon icon) void setLabel(String text)
合集下载

图形用户界面设计Swing常用组件.ppt

图形用户界面设计Swing常用组件.ppt

JScrollPane scrollPane = new JScrollPane(textArea);
2020年1月25日星期六
NCEPU
Swing的常用组件--JTextArea
文本区的三 种显示方式
2020年1月25日星期六
NCEPU
Swing的常用组件--JTextArea
例:创建包含文本区、文本框和“提交”按钮的窗口。 在文本区中输入文字,单击“提交”按钮,文本 框中会出现同样的文字。
}
class TFFrame extends JFrame { JTextField num1, num2, num3; public void launchFrame() { num1 = new JTextField(10); num2 = new JTextField(10); num3 = new JTextField(15); JLabel lblPlus = new JLabel("+"); JButton btnEqual = new JButton("="); btnEqual.addActionListener(new MyMonitor()); setLayout(new FlowLayout()); add(num1); add(lblPlus); add(num2); add(btnEqual); add(num3); pack(); setVisible(true); }
public class TFPassword { public static void main(String[] args) { new TFFrame2(); }
}
class TF密Fram码e2域exJtePnadsssJFwraomredField

JavaSwing界面设计(所有控件及示例)

JavaSwing界面设计(所有控件及示例)
➢标签内容一般不需要改变,但也可以使用setText和setIcon方 法进行改变 ➢例如当使用同一标签显示不同的图片时,就可使用setIcon方 法实现
25
示例:学生信息管理系统
步骤二:添加标签(要录入的基本信息的名称)
JFrame f=new JFrame(); …… Container con=f.getContentPane(); Jpanel pan=new JPanel(); JLabel l_xm=new JLabel("姓名"); pan.add(l_xm); JLabel l_xb=new JLabel("性别"); pan.add(l_xb); …… con.add(pan); f.setVisible(true);
3
用户界面概述
用户界面的类型
字符用户界面(CUI):例如,MS-DOS 图形用户界面(GUI):例如,Microsoft Windows
GUI的组件
组件
基本的控制组件,例如:Button、Label等。 容器:能容纳和排列组件的组件
组件继承它的父容器的性质
4
Label
Frame Window
创建图标和图像对象 a) ImageIcon ii = new ImageIcon(“x.gif ”); b) Image image = ii.getImage();
设置 setIconImage(image);
19
界面的基本组织方式
由JFrame创建初始的用户界面 由JPanel、JScrollPane、JTabbedPane、JSplitPane、
添加中间容器JPanel JFrame f=new JFrame(); f.setTitle("学生信息管理系统");

Swing用户界面组件

Swing用户界面组件

(1)对于showMessageDialog和showInputDialog,只能得到一组标准 按钮(OK和OK/Cancel);
(2)对于showConfirmDialog,可选择以下选项之一:
DEFAULT_OPTION, YES_NO_OPTION, YES_NO_CANCEL_OPTION, OK_CANCEL_OPTION;
第六章
Swing用户界面组件
● 布局管理器 ● 文本输入(JTextField,JTextArea) ● 选择组件(JCheckBox,JRadioButton,JComboBox) ● 菜单(JMenuBar,JMenu,JMenuItem) ● 对话框(JOptionPane,JFileChooser)
● 从JDialog派生一个类 ● 使用方法(与JFrame类似)
(1)在自定义对话框构造方法中调用JDialog的构造方法 (2)添加对话框中的用户组件 (3)添加事件处理器 (4)设置对话框大小,添加其他需要的方法 (5)在需要使用对话框时,创建对象,setVisible(true)
例:MyDialogTest.java
第六章 图形用户界面
● 图形编程 ● AWT事件处理机制 ● Swing用户界面组件
回顾
AWT事件处理机制 ● 事件处理基础(事件、事件源、事件监听器) ● AWT事件(常见事件类型、监听器接口、适配器类) ● 焦点事件(FocusListener,FocusAdapter,FocusEvent) ● 键盘事件(KeyListener,KeyAdapter,KeyEvent) ● 鼠标事件(MouseListener,MouseAdapter, MouseMotionListener,MouseMotionAdapter, MouseEvent)

Java图形用户界面(GUI)编程Swing和AWT库的使用

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)`方法,我们将在用户关闭窗口时退出程序。

Java语言7 图形用户界面及Swing

Java语言7 图形用户界面及Swing

— 为保证可移植性,Swing完全用Java语言编写。
Swing
— 要使用Swing类,必须用import语句导入该类或采用下面的 方式导入整个包:
import javax.swing.*; — 用于图形用户界面编程的其他两个包分别是: java.awt 和 java.awt.event (处理用户输入的事件处理类) — 使用Swing组件时,实际操纵的是该组件类的对象。调用构 造方法来创建组件,然后调用相应的方法来正确地设置组件 。 — 组件必须被添加到容器(container)中后,才能被显示在用户 界面上。容器是可以放置其他组件的组件。Swing容器通常 可放置在其他容器内,它是java.awt.Container的子类。
GUI组件可以分为两大类:基本组件和容器,分别是
ponent和java.awt.Container的直接 或间接子类。
程序的GUI部分由AWT线程管理。
Swing
— Swing的包在Java程序中实现图形用户界面,并接收来自键 盘、鼠标和其他输入设备的用户输入。
— Swing是Abstract Windowing Toolkit的一个扩展,AWT在 最初的Java版本中提供了有限的图形编程支持。Swing提供 了比AWT更多的组件库,例如,Jtable, Jtree,JComboBox 。 (见书P140) — 所有的Swing组件,位于javax.swing包中,它们是构筑在 AWT上层的GUI组件,Swing组件是JComponent类的子类
按钮类的构造方法包括:
JButton (String): 创建一个带指定的文本的按钮。 JButton (Icon): 创建一个包含指定图标的按钮。 JButton (String, Icon): 创建一个包含指定文本和 图标的按钮。

swing 的用法

swing 的用法

swing 的用法一、概述Swing是Java编程语言中一个重要的图形用户界面(GUI)工具包,提供了各种组件和布局管理器,用于创建丰富多彩的桌面应用程序。

Swing包含了多个重要的组件类,如按钮(Button)、标签(Label)、文本框(TextField)、文本域(TextArea)等等,这些组件类提供了丰富的API,用于实现各种交互功能。

二、Swing组件1.按钮(Button):Swing中的Button类是一个简单的用户界面组件,用于响应用户的点击事件。

可以通过设置按钮的文本、图标和监听器等属性来定制按钮的外观和行为。

2.标签(Label):Label类用于在GUI中显示文本或图像信息。

可以通过设置标签的文本内容、字体、颜色等属性来定制标签的外观。

3.文本框(TextField)和文本域(TextArea):这两个组件类分别用于输入和显示多行文本信息。

可以通过设置文本框和文本域的大小、行数、滚动条等属性来定制它们的外观和行为。

4.菜单(Menu)和菜单项(MenuItem):Menu类用于创建菜单,MenuItem类是菜单项的子类。

可以通过设置菜单和菜单项的名称、图标、监听器等属性来定制它们的外观和行为。

5.表格(Table)和表格组件(JTable):表格是Swing中另一个重要的组件类,用于显示和操作表格数据。

可以通过设置表格的大小、列数、行头、单元格样式等属性来定制表格的外观和行为。

三、Swing布局管理器Swing提供了多种布局管理器,用于控制组件在容器中的布局方式。

常见的布局管理器包括:1.FlowLayout:按照水平或垂直方向自动排列组件。

2.BorderLayout:将容器分为左右、左上、右上、左下、右下五个区域,将组件放置在指定的区域中。

3.GridLayout:将组件按照网格方式排列,可以设置行数和列数。

4.CardLayout:用于管理多个面板或窗口,通过切换卡片来显示不同的界面。

swing用户界面组件


中关村国际软件人才教育联盟
密码框JPasswordField
特殊的文本框。在密码框中输入时,用户的输入并不会 真正显示出来,而是显示回显字符,如“*”,以防止 被他人看见用户输入的密码。
构造函数:
– JPasswordField(String text, int columns) 参数:text 显示的文本,如果没有则为null
文本框JTextField(2)
在实践中,应该把文本框的最大列宽多设1到2个字符。输入文本的 长度可以超过最大列宽,这时文本框就会卷动。
如果你需要在运行时重新设置列宽,应联合使用setColumns方法 和包含该文本框的容器的validate方法。 textFiled. setColumns(10); panel. validate();//布局管理器重新绘制容器
publicjcomboboxpublicjcombobox此构造函数使用缺省数据模型创建此构造函数使用缺省数据模型创建jcomboboxjcomboboxpublicjcomboboxcomboboxmodelasmodelpublicjcomboboxcomboboxmodelasmodel使用现有使用现有comboboxmodelcomboboxmodel中的项目创建组合框中的项目创建组合框publicjcomboboxobjectitemspublicjcomboboxobject用指定数组元素创建组合框用指定数组元素创建组合框新建一个有内容的组合框既可以象列表框那样指定数组也可以采新建一个有内容的组合框既可以象列表框那样指定数组也可以采用向组合框对象里加入条目的方法
文本框JTextField(1)
JTextField 组件允许输入或编辑单行文本
此类的构造函数包括:

swing组件及其用法

swing组件及其用法Swing组件是用于创建图形用户界面的Java库。

它提供了丰富的界面元素和布局管理器,可以实现各种图形界面应用程序。

下面是一些常用的Swing组件及其用法:1. JFrame:顶层窗口组件,用于创建一个窗口。

用法示例:```javaJFrame frame = new JFrame("My Frame");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(500, 300);frame.setVisible(true);```2. JPanel:容器组件,用于组织其他组件。

用法示例:```javaJPanel panel = new JPanel();panel.setLayout(new FlowLayout());panel.add(new JButton("Button 1"));panel.add(new JButton("Button 2"));```3. JButton:按钮组件,用于触发动作。

用法示例:```javaJButton button = new JButton("Click me");button.addActionListener(e -> System.out.println("Buttonclicked"));```4. JLabel:标签组件,用于显示文本或图像。

用法示例:```javaJLabel label = new JLabel("Hello, world!");label.setIcon(new ImageIcon("image.png"));```5. JTextField:文本输入框组件,用于接收用户输入。

java语言中awt和swing组件的基本用法

java语言中awt和swing组件的基本用法Java语言中AWT和Swing组件是用于创建图形用户界面(GUI)的工具。

AWT(Abstract Window Toolkit)是Java最早提供的GUI工具包,而Swing是在AWT基础上进行了扩展和改进的高级GUI工具包。

本文将介绍AWT和Swing组件的基本用法。

一、AWT组件的基本用法AWT组件是Java中最基本的GUI组件,它们在不同的平台上都能够保持一致的外观和行为。

下面是AWT常用组件的基本用法:1. Frame(窗口):使用Frame类可以创建一个基本的窗口。

可以调用setTitle()方法设置窗口标题,setSize()方法设置窗口大小,setVisible()方法显示窗口。

例如:```javaFrame frame = new Frame("My Window");frame.setSize(400, 300);frame.setVisible(true);```2. Panel(面板):Panel是一个容器,用于存放其他组件。

可以使用add()方法将其他组件添加到Panel中。

例如:```javaPanel panel = new Panel();Button button = new Button("Click Me");panel.add(button);```3. Button(按钮):Button用于触发特定的动作。

可以使用addActionListener()方法为按钮添加动作监听器。

例如:```javaButton button = new Button("Click Me");button.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {System.out.println("Button Clicked");}});```4. Label(标签):Label用于显示文本信息。

常用Swing组件


JTabbedPane类的构造方法有: 类的构造方法有: 类的构造方法有 JTabbedPane() 创 建 空 对 象 , 该 对 象 具 有 缺 省 的 标 签 位 置 JTabbedPane.TOP 和缺省的布局策略JTabbedPane.WRAP_TAB_LAYOUT。 。 和缺省的布局策略 JTabbedPane(int tabPlacement)创建空对象,该对象具有指定 创建空对象, 创建空对象 的标签位置:JTabbedPane.TOP、JTabbedPane.BOTTOM、 的标签位置: 、 、 JTabbedPane.LEFT 或 JTabbedPane.RIGHT 以 及 缺 省 的 布 局策略JTabbedPane.WRAP_TAB_LAYOUT。 局策略 。 JTabbedPane(int tabPlacement, int tabLayoutPolicy)创建空对 创建空对 象 , 该对象具有指定的标签位置和布局策略。 布局策略可 该对象具有指定的标签位置和布局策略 。 以是以下两种之一: 以是以下两种之一 : JTabbedPane.WRAP_TAB_LAYOUT 或 JTabbedPane.SCROLL_TAB_LAYOUT。加滚动条 。
javax.swing.JPane 类继承于 类继承于javax.swing.JComponent 类 , 其构 造 其 构造 方法有: 方法有: JPanel() 创建具有缺省 创建具有缺省FlowLayout布局的 布局的JPanel对象。 对象。 布局的 对象 JPanel(LayoutManager layout) 创 建 具 有 指 定 布 局 管 理 器 的 JPanel对象。 对象。 对象 作为画布的绘画区域使用时, 将JPanel作为画布的绘画区域使用时, 要使用下面的两个步骤 : 作为画布的绘画区域使用时 要使用下面的两个步骤: 首先,设置画布绘图区域的大小;其次,使 用 paintComponent()方法 ( 不是 方法( 方法) 方法 不是paint()方法) 来绘图 , 在该方法 方法 来绘图, 体中, 首先调用方法super.paintComponent( ) 来清除显示区 体中 , 首先调用方法 ( 域。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档