8.1 Swing图形用户界面程序设计

合集下载

Swing图形用户界面(GUI)设计

Swing图形用户界面(GUI)设计
18
9.5 标签
JLabel常用的方法
• void setText(String text): 定义该组件所能显示的文字。 • void setIcon(Icon icon): 定义该组件所能显示的图形。 • void setIconTextGap(int gap):定义文字和图形间的距离,单位 为像素。 • void setHorizontalAlignment(int alignment): 设置标记内容的 水平对齐方式(LEFT,CENTER,RIGHT,LEADING和 TRAILING)。 • void setHorizontalTextPosition(int alignment): 设置标记内文 字相对于图形的水平位置 (LEFT,CENTER,RIGHT,LEADING和TRAILING)。 • void setVerticalAlignment(int alignment): 设置标记内容的垂 直对齐方式(TOP,CENTER和BOTTOM)。 • void setVerticalTextPosition(int alignment): 设置标记内文字相 对于图形的垂直对齐方式(TOP,CENTER和BOTTOM )。 19
6
例9-1
7
9.2 文本与字体
本章9.1节的“Hello World”程序中演示了默认字体字符 串的显示。 但是我们常常需要使用不同的字体,通过setFont()方法可 以改变字体。 可以根据字体名来指定字体。 想找出某个计算机上的可用字体,你可以通过调用 GraphicsEnvironment类的getAvaiilableFamilyNames 方法实现。 该方法返回包含所有可用字体名的字符串数组。 GraphicsEnvironment类描述了用户系统上的图形环境, 可以使用静态方法getLocalGraphicsEnviroment来得到 该类的一个实例。 下面是字体显示的例子:

[兔年惊喜]Java语言程序设计实验九第八章Swing图形用户界面程

[兔年惊喜]Java语言程序设计实验九第八章Swing图形用户界面程

[兔年惊喜]Java语言程序设计实验九第八章Swing图形用户界面程实验报告课程Java语言程序设计实验名称第八章Swing图形用户界面程序设计实验任务(三)第页专业班级学号____姓名实验日期:2022年11月9日报告退发(订正、重做)一、实验目的布局管理器的使用二、实验环境1、微型计算机一台2、DOS或WINDOWS操作系统,j2e开发包三、实验内容创建一个框架类实例对象app作为窗体,请问窗体的内容窗格默认的布局管理器是什么?往窗体内容窗格的中心区域添加一个面板,请问面板的默认布局管理器是什么?往面板添加若干的按钮或其它的组件,然后改变窗口大小,观察组件位置的变化,体会FlowLayout布局管理器的特点。

默认采用的是居中,如何设置为左对齐?设置面板的布局管理器为BorderLayout,往5个区域分别添加5个组件,改变窗体大小,观察这5个区域的变化情况,体会BorderLayout布局管理器的特点。

设置面板的布局管理器为Bo某Layout,分别设置水平放置和垂直放置,往面板中添加组件,改变窗体大小,观察面板的变化,体会Bo某Layout的特点。

设置布局管理器为GridLayout,设置不同的行列,观察组建的摆放方式,体会GridLayout布局管理器的特点设置面板的布局管理器为GridBagLayout,按照不同的长宽放置组件,体会该布局管理器的作用和特点四、实验步骤和结果1.在Eclipe中新建名字为tet8的工程。

2.问题1:创建一个框架类实例对象app作为窗体,窗体的内容窗格默认的布局管理器是边界布局管理器(BorderLayout)3.问题2:往窗体内容窗格的中心区域添加一个面板,面板的默认布局管理器是流布局管理器(FlowLayout)4.FlowLayout布局管理器问题及实现①默认居中:importjava.awt.BorderLayout;importjava.awt.Container;importjava某.wing.JButton;importjava某.wing.JFrame;importjava某.wing.JPanel;publicclaFlowLayout1{publictaticvoidmain(String[]arg){JFramejf=newJFrame(\流布局管理器窗体\);Containerc=jf.getContentPane();JPanelp=newJPanel();p.add(newJButton(\));p.add(newJButton(\));p.add(newJButton(\ ));p.add(newJButton(\));p.add(newJButton(\));p.add(newJButton(\) );p.add(newJButton(\));p.add(newJButton(\));p.add(newJButton(\)) ;c.add(p,BorderLayout.CENTER);jf.etSize(300,300);jf.etDefaultCloeOperation(JFrame.E某IT_ON_CLOSE);jf.etLocationRelativeTo(null);}}jf.etViible(true);②改变窗口大小,窗口中的组件位置会窗体的横向拉动而变化③左对齐5.BorderLayout布局管理器问题及实现importjava.awt.BorderLayout;importjava.awt.Container;importjava某.wing.JButton;importjava某.wing.JFrame;importjava某.wing.JPanel;publicclaBorderLayout1{publictaticvoidmain(String[]arg){JFramejf=newJFrame(\边界布局管理器窗体\);Containerc=jf.getContentPane();JPanelp=newJPanel();p.etLayout(newBorderLayout());p.add(newJButton(\),BorderLayout.EAST);p.add(newJButton(\),B orderLayout.WEST);p.add(newJButton(\),BorderLayout.SOUTH);p.add( newJButton(\),BorderLayout.NORTH);p.add(newJButton(\),BorderLayo ut.CENTER);c.add(p,BorderLayout.CENTER);jf.etSize(300,300);}jf.etDefaultCloeOperation(JFrame.E某IT_ON_CLOSE);jf.etLocationRelativeTo(null);jf.etViible(true);}6.Bo某Layout布局管理器问题及实现①水平放置importjava.awt.BorderLayout;importjava.awt.Container;importjava某.wing.Bo某Layout;importjava某.wing.JButton;importjava某.wing.JFrame;importjava某.wing.JPanel;publicclaBo某Layout1{publictaticvoidmain(String[]arg){JFramejf=newJFrame(\盒式布局管理器窗体\);Containerc=jf.getContentPane();JPanelp=newJPanel();p.etLayout(newBo某Layout(p,Bo某Layout.某_A某IS));p.add(newJButton(\));p.add(newJButton(\));p.add(newJButton( \));p.add(newJButton(\));p.add(newJButton(\));c.add(p,BorderLayout.CENTER);jf.etSize(300,300);jf.etDefaultCloeOperation(JFrame.E某IT_ON_CLOSE);jf.etLocationRelativeTo(null);}}jf.etViible(true);②垂直放置p.etLayout(newBo某Layout(p,Bo某Layout.Y_A某IS));7.GridLayout布局管理器问题及实现importjava.awt.BorderLayout;importjava.awt.Container;importj ava.awt.GridLayout;importjava某.wing.JButton;importjava某.wing.JFrame;importjava某.wing.JPanel;publicclaGridLayout1{publictaticvoidmain(String[]arg){JFramejf=newJFrame(\网格布局管理器窗体\);Containerc=jf.getContentPane();JPanelp=newJPanel();p.etLayout(newGridLayout(2,5,20,20));p.add(newJButton(\));p. add(newJButton(\));p.add(newJButton(\));p.add(newJButton(\));p.add(newJButton(\));c.add(p,BorderLayout.CENTER);jf.etSize(300,300);}}jf.etDefaultCloeOperation(JFrame.E某IT_ON_CLOSE);jf.etLocationRelativeTo(null);jf.etViible(true);8.GridBagLayout布局管理器问题及实现importjava.awt.BorderLayout;importjava.awt.Container;importjava.awt.GridBagContraint;importjava.awt.GridBagLayout ;importjava.awt.GridLayout;importjava某.wing.JButton;importjava某.wing.JFrame;importjava某.wing.JPanel;publicclaGridBagLayout1{publictaticvoidmain(String[]arg){JFramejf=newJFrame(\网格包布局管理器窗体\);Containerc=jf.getContentPane();JPanelp=newJPanel();GridBagLayoutgr=newGridBagLayout();p.etLayout(gr);GridBagContraintgc=newGridBagContraint();gc.fill=GridBagCont raint.BOTH;gc.grid某=0;gc.gridy=0;gc.gridwidth=2;gc.gridheight=1;JButtonbt1=newJButton(\);gr.etContraint(bt1,gc);p.add(bt1,gc );gc.grid某=2;gc.gridy=0;gc.gridwidth=1;gc.gridheight=2;JButtonbt2=newJButton(\);gr.etContraint(bt2,gc);p.add(bt2,gc);gc.grid某=0;gc.gridy=1;gc.gridwidth=1;gc.gridheight=2;JButtonbt3=newJButton(\);gr.etContraint(bt3,gc);p.add(bt3,gc );gc.grid某=1;gc.gridy=1;gc.gridwidth=1;gc.gridheight=1;JButtonbt4=newJButton(\);gr.etContraint(bt4,gc);p.add(bt4,gc );gc.grid某=1;gc.gridy=2;gc.gridwidth=2;gc.gridheight=1;JButtonbt5=newJButton(\);gr.etContraint(bt5,gc);p.add(bt5,gc );c.add(p,BorderLayout.CENTER);jf.etSize(300,300);jf.etDefaultCloeOperation(JFrame.E某IT_ON_CLOSE);}}jf.etLocationRelativeTo(null);jf.etViible(true);五、实验总结。

编写swing程序的主要步骤

编写swing程序的主要步骤

编写swing程序的主要步骤好的,要使用 Java Swing 编写图形用户界面 (GUI) 应用程序,可以按照以下主要步骤进行操作:1. 设计用户界面:首先,需要使用 Swing 组件设计应用程序的用户界面。

这可以通过使用 Java 的可视化设计工具,如 NetBeans IDE 或 Eclipse IDE 中的 Swing 设计器来完成。

这些工具提供了一个图形化界面,可以通过拖放和调整组件的大小和位置来创建用户界面。

2. 创建组件:在设计用户界面后,可以使用 Java 代码创建这些组件。

这可以通过扩展 Swing 类并创建组件对象来完成。

例如,可以扩展 JFrame 类创建一个窗口,扩展JTextField 类创建一个文本框,扩展 JButton 类创建一个按钮等。

3. 设置组件属性:创建组件后,可以使用 Java 代码设置它们的属性,例如文本、颜色、大小、位置等。

这可以通过调用组件的相应方法来完成。

4. 添加事件监听器:为了使应用程序对用户的交互做出反应,需要为组件添加事件监听器。

例如,如果需要在按钮被点击时执行某个操作,可以为按钮添加一个ActionListener。

5. 组织组件层次结构:在 Swing 中,组件是按照层次结构组织的。

父组件可以包含子组件,子组件可以包含孙子组件等。

需要确保组件的层次结构正确,以便正确显示和处理事件。

6. 创建窗口:最后,需要创建一个包含所有组件的窗口。

这可以通过创建一个 JFrame 对象并将其设置为可见来完成。

7. 运行应用程序:完成应用程序的编写后,可以使用 Java 编译器将其编译为可执行文件,并在 Java 虚拟机上运行。

这是使用 Java Swing 编写应用程序的基本步骤。

需要注意的是,Swing 是一个庞大而复杂的 API,需要花费时间和精力来学习和掌握。

JAVA_8基于Swing的图形化用户界面new

JAVA_8基于Swing的图形化用户界面new
布局管理器的分类
FlowLayout(流式布局):Panel和Applet的缺省布局管理器
BorderLayout(边界布局):JDialog和JFrame的缺省布局管理器 GridLayout(网格布局)
GridBagLayout(网格组布局)
CardLayout(卡片布局) BoxLayout( 箱式布局)
容器
GUI支持包
java.awt包 javax.swing包
提供了大量地进 行GUI设计所使 用的类和接口 Java语言进行 GUI程序设计的 基础
由100%纯Java实 现的,不依赖操 作系统的支持 使得Java的图形 用户界面上了一 个台阶
AWT是通过调用操作系统的native方法实现的,所以在 Windows系统上的AWT窗口就是Windows的风格,而在Unix 系统上的则是XWindow风格。
……//把其它组件添加到JPanel中;
frame.setContentPane(contentPane);
Swing常用容器— JPanel的使用
JPanel面板是容器组件,没有标题,不能独立存在。 实例化以后必须使用Container类的add方法装入到 Window对象或Frame对象中。
顶级容器
JFrame:用于框架窗口的类,应用程序至少使用一个框架窗口。 JDialog:用于对话框的类。 JApplet:用于使用 Swing 组件的Java Applet的类。
中间容器
JPanel:面板,是最灵活、最常用的中间容器。 JScrollPane:与JPanel类似,但还可在大的组件或可扩展组件 周围提供滚动条。 JTabbedPane:包含多个组件,但一次只显示一个组件。用户 可在组件之间方便地切换。 JToolBar:按行或列排列一组组件(通常是按钮)。

天津科技大学Java第八章 基于Swing的图形化用户界面

天津科技大学Java第八章 基于Swing的图形化用户界面

JMenuItem
JButton
JCheckBox
JRadioButton
JMenu
Swing类库组织结构图
8.1 Java GUI概述----Swing

Swing 组件特点:
(1) Swing组件是用100%纯Java代码实现的轻量级(light-weight)组件. 没有本地代码,不依赖操作系统的支持,这是它与重量级组件 AWT的最大区别。
第8章 基于Swing的图形化用户界面

Java GUI概述 基于Swing的GUI构建 GUI中的事件处理 Swing组件
8.1 Java GUI概述
图形用户界面GUI(Graphical User Interfaces),给用户 提供了一个交互式的直观图形化操作界面。

ቤተ መጻሕፍቲ ባይዱ
button
8.1 Java GUI概述----容器介绍

在Java程序中可以作为容器的类,都继承自Container类。 AWT和Swing中的容器类的继承关系,如图所示:
Container
Window
Panel
JComponent
Frame
Dialog
Applet
JPanel
JScrollPane
JFrame

构建GUI的两种技术——AWT与Swing


AWT 出现较早 是Swing技术的基础 由java.awt及其子包提供支持,AWT组件与平台相关性较强 Swing 是对AWT技术的扩展 开发GUI的主流技术! 在界面构造方法、事件处理机制等方面与AWT基本一致 由javax.swing及其子包提供支持,Swing组件的平台相关性 较小 更加实用,比AWT提供了更加丰富的组件,增加了很多新的特 性与功能 开发GUI的主流技术

第八章图形用户界面(Swing)方案

第八章图形用户界面(Swing)方案

2. 构造函数
JLabel(String label);
构造一个显示内容为label的标签
JLabel(Icon icon);
构造一个带有图标的标签
JLabel(String label,int alignment); 构造一个显示字符串label的标签,
并指定它的对齐方式: LEFT(左对齐)
CENTER(居中对齐)
返回当前的对齐方式 返回当前显示的内容 返回标签的图标 设置对齐方式 设置显示的字符串 设置标签的图标
4. 举例(LabelDemo.java)
JApplet是一个顶层容器,Swing组建不能直接加入到 JApplet,必须将组建加入到顶层容器的内容面板中。要获得一 个内容面板,可使用getContentPane()方法,要设置它的内容面 板可使用setContentPane()方法。
void setLocation (Point p)
使用屏幕坐标;否则使用该容器的坐标
Point getLocation ( )
获得组件的左上角位置。
Point getLocationOnScreen( )
获得组件左上角的位置。该值使用屏幕坐标
void setSize (int width,int height)或 重新设置组件的大小
• 组件(component)是构成GUI的基本要素,通过对 不同事件的响应来完成和用户的交互或组件之间的 交互。组件一般作为一个对象放置在容器 (Container)中。
• 容器是能容纳和排列组件的组件,要显示组件,用 户必须把它放置在容器里,通过容器的add()方法将 组件加入到容器中。容器本身也是组件,因此可以 将一个容器添加到另一个容器中实现容器的嵌套。

第10部分基于Swing的图形用户界面设计方案

第10部分基于Swing的图形用户界面设计方案
2019/7/17
图10.1 JComponent类的部分子类以及JFrame类和JDialog 类
3 2019/7/17
容器类(Container)和组件类(Component)
Java把由Component类的子类或间接子类创建的对象称为一个组件;把由 Container的子类或间接子类创建的对象称为一个容器。
第10章 基于Swing的图形用户界面设计
本章导读 ☆ AWT组件与SWING组件 ☆ JFrame窗体、菜单组件、布局设计 ☆ 中间容器、文本组件 ☆ 按钮与标签组件、复选框与单选按钮组件 ☆ 列表组件、表格组件、树组件和进度条组件 ☆ 窗口事件、鼠标事件、焦点事件和键盘事件 ☆ 对话框 ☆ AWT线程与计时器 ☆ MVC设计模式 ☆ 发布应用程序
JComponent 类 的 子 类 JMenuBar 是 负 责 创 建 菜 单 条 的 , 即 JMenuBar的一个实例就是一个菜单条。
JFrame类有一个将菜单条放置到窗口中的方法:
public void setJMenuBar(JMenuBar menubar);
◆ 每当容器添加新的组件或移掉组件时,应该让容器调用validate()方法,因此可以把一个容器添加到另一个容器中实现容器的 嵌套。
javax.swing 包 中 有 4 个 最 重 要 的 类 JApplet , JFrame , JDialog 和 JComponent。 注:JComponent类的子类都是轻组件,JComponent类是java.awt包中Container类的子
◆JFrame() 创建一个无标题的窗口。 ◆JFrame(String s) 创建一个标题为s的窗口。 ◆public void setBounds(int a,int b,int width,int height)设置出现在屏幕上时的初始位

第八章 基于swing的图形用户界面

第八章 基于swing的图形用户界面

18
8.2.4 布局管理器
容器中组件的布局通常由Layout Manager控制。 Layout Manager负责决定容器的布局策略及容器内 每个组件的大小。 每个容器都由一个缺省的Layout Manager ,可通过 setLayout( )方法改变。 Java提供的布局管理器: FlowLayout BorderLayout GridLayout CardLayout GridBagLayout Box Layout
13
JFrame
是放置其他 Swing 组件的顶级容器,JFrame 组件用于在 Swing 程序中创建窗体 构造函数: JFrame() JFrame(String Title) 其组件必须添加至内容窗格,而不是直接添加至 JFrame 对象, frame.getContentPane().add(b); 其他方法:
AWT(Abstract Window Tookit):
用来处理图形最基本的方式,包括用来创建Java GUI各种组件 和事件处理机制。
Swing包:是对AWT的扩展,提供了丰富的组件,并且提供了独
立于运行平台的GUI构造框架。不依赖于特定的系统平台,对外提 供多样化的组件及外观,并且保持外观风格的一致。
/*第一个参数表示组件的对齐方式,第二个参数是组件之间的 横向间隔,第三个参数是组件之间的纵向间隔,单位是象素。*/ //居左对齐,横向间隔和纵向间隔都是缺省值5个象素 //缺省的对齐方式居中对齐,横向和纵向间隔缺省为5个象素
20
BorderLayout Manager
是Window,Frame和Dialog的缺省布局管理器。 把容器分成5个区域:North,South,East,West和 Center,每个区域只能放置一个组件。如不指定组件的加入 部位,则默认加入到Center区。 各个区域的位置及大小如下图所示: 构造函数有:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第8章Swing图形用户界面程序设计8.0:GUI概述Java语言提供两种图形用户界面,即AWT(早期版本)和Swing(增强了功能、减少了平台相关性)。

一方面:Swing图形用户界面比AWT图形用户界面可以克服更多的操作系统不同所带来的图形界面或交互方式上的差别;另一方面:Swing图形用户界面还增加了功能,可以定制指定的操作系统风格的图形用户界面。

8.1:组件和容器组件和容器是Swing图形用户界面的组成部分。

在Swing图形用户界面程序设计中,要求按照一定的布局方式将组件和容器的组合添加到给定的容器中。

这样,通过组件和容器的组合就形成图形用户界面。

然后通过事件处理的方式实现在图形界面上的人机交互。

8.1.1 整体介绍容器本身也是组件。

按组件和容器的用途来分:顶层容器、一般容器、专用容器、基本控件、不可编辑信息组件和可编辑组件。

1:顶层容器主要有三种:小应用程序(Applet和JApplet)、对话框(Dialog 和JDialog)和框架(Frame和JFrame)。

这三种容器在AWT图形用户界面中对应的类分别是java.applet.Applet、java.awt.Dialog和java.awt.Frame;在Swing图形用户界面中对应的类分别是javax.swing.JApplet、javax.swing.JDialog和javax.swing.JFrame,这些名称均以“J”开头。

小应用程序主要用来设计嵌入在网页中运行的程序;对话框通常用来设计具有依赖关系的窗口;框架主要用来设计应用程序的图形界面。

2:一般容器包括面板(Jpanel)、滚动窗格(JScrollPane)、分裂窗格(JSplitPane)、选项卡窗格(JTabbedPane)和工具条(JtoolBar)。

面板通常是只有背景色的普通容器;滚动窗格具有滚动条;分裂窗格是用来装两个组件的容器;选项卡窗格允许多个组件共享相同的界面空间;工具条通常将多个组件(通常是带图标的按钮组件)排成一列或一排。

3:专用容器包括内部框架(JInternalFrame)、分层窗格(JLayeredPane)和根窗格(JRootPane)。

内部框架可以在一个窗口内显示若干个类似于框架的窗口;分层窗格给窗格增加了深度的概念,当两个或多个窗格重叠在一起时,可以根据窗格的深度来决定显示哪一个窗格的内容,一般显示深度值较大的窗格。

根窗格一般是自动创建的容器,创建内部框架或者任意一种顶层容器都会自动创建根窗格。

根窗格由玻璃窗格、分层窗格、内容窗格和菜单窗格构成。

玻璃窗格是不可见的,只是用来解释各种输入事件;分层窗格为内容窗格和菜单窗格服务,主要用来管理各种相关深度值;内容窗格用来管理除菜单窗格之外的位于根窗格容器内的组件;菜单窗格不是必需的,主要用来管理菜单栏和菜单。

4:基本控件包括命令式按钮(JButton)、单选按钮(JRadioButton)、复选框(JCheckBox)、组合框(JComboBox)和列表框(JList)。

5:不可编辑信息组件包括标签(JLabel)和进度条等。

6:可编辑组件包括文本编辑框(JTextField)和文本区域(JTextArea)等。

8.1.2 JFrame和JLabel(一)框架(JFrame)是顶层的容器。

1框架的构造:可以通过类javax.swing.JFrame的构造方法(A-B)A: public JFrame ( ) throws HeadlessException创建一个不可见不含标题的的初始化框架。

B:public JFrame (String title ) throws HeadlessException创建一个不可见的初始化框架,其中title指定框架的标题内容。

新创建的框架需要进行属性设置才能正常工作。

2框架的属性设置:可以通过类javax.swing.JFrame的成员方法(A-C)A: public viod setDefaultCloseOperation (int operation)设置关闭框架的行为属性。

其中operation一般为常数JFrame.EXIT_ON_CLOSE,表示关闭框架时,则退出程序。

B: public viod setSize (int width,int height)设置框架的大小。

width和height分别对应框架的宽度和高度。

C: public viod setVisible (boolean b)设置框架是否可见。

当b为true时,框架变成可见,否则不可见。

一般需要调用该成员方法让初始不可见的框架变成可见的,而且应当在前面属性设置完毕以及添加完组件之后调用该成员方法,否则,框架的图形界面可能会出现不正常显示。

3给顶层容器添加组件的方法:一般是先获取顶层容器的内容窗格,再向内容窗格添加组件。

(1)可以通过类javax.swing.JFrame的成员方法public Container getContentPane ()返回当前框架的内容窗格。

(2)此时,还需要给内容窗格设置布局方式类java.awt.Container的成员方法public viod setLayout(LayoutManager mgr)将当前容器的布局方式设置为参数mgr指定的方式。

最常见的布局方式是FlowLayout。

通过类java.awt.FlowLayout的构造方法public FlowLayout (int align)可以创建FlowLayout的实例对象。

在FlowLayout 布局方式下,组件在容器中以行的形式从左到右依次排列,参数align指定行对齐方式(常见的取值有FlowLayout.LEFT、FlowLayout.CENTER、FlowLayout.RIGHT),分别对应左中右对齐。

(3)在设置布局方式之后可以给内容窗格容器添加组件类java.awt.Container的成员方法public Component add (Component comp)将组件添加到当前容器中。

(二)利用标签(JLabel)可以在图形用户界面上显示一个字符串或一幅图。

1标签的创建:可以通过类javax.swing.JLabel的构造方法(A-C)A: public JLabel (String text)B: public JLabel (Icon icon)C: public JLabel (String text, Icon icon, int horizontalAlignment)其中参数text指定标签的文字信息;参数icon指定标签的图标;参数horizontalAlignment指定文字和图标在水平方向上的对齐方式,常见的取值有常量JLabel.LEFT、JLabel.CENTER、JLabel.RIGHT,分别对应左中右对齐方式。

如果参数text为null,则该标签不含文字信息;如果参数icon为null,则该标签不含图标。

2设置标签的属性:可以通过类javax.swing.JLabel的成员方法(A-G)A: public void setText (String text)重新设置标签的文字信息,参数text指定标签的新的文字信息。

如果参数text为null,则该标签不含文字信息。

B: public void setIcon (Icon icon)重新设置标签的图标,参数icon指定标签的新图标。

如果参数icon为null,则该标签不含图标。

C: public void setHorizontalAlignment(int alignment)设置组成标签的文字与图标在水平方向上的对齐方式,参数alignment指定常见的取值有常量JLabel.LEFT、JLabel.CENTER、JLabel.RIGHT,分别对应左中右对齐方式。

D: public void setHorizontalTextPosition(int textPosition)设置组成标签的文字与图标在水平方向上的相对位置关系,参数textPosition 为常量JLabel.LEFT或JLabel.RIGHT时,文字分别位于图标的左侧或右侧;参数textPosition为常量JLabel.CENTER时,文字与图标在水平方向中对齐。

E: public void setVerticalAlignment(int alignment)设置组成标签的文字与图标在竖直方向上的对齐方式,参数alignment指定常见的取值有常量JLabel.TOP、JLabel.CENTER、JLabel.BOTTOM,分别对应左中右对齐方式。

F: public void setVerticalTextPosition(int textPosition)设置组成标签的文字与图标在水平方向上的相对位置关系,参数textPosition 为常量JLabel.TOP或JLabel.BOTTOM时,文字分别位于图标的上方或下方;参数textPosition为常量JLabel.CENTER时,文字与图标在竖直方向上中对齐。

G: public void setToolTipText(String text)设置当鼠标指针在标签上稍加停留时出现的提示信息,其内容为text指定的字符串。

8.1.3 JDialog和JOptionpane(一)对话框(JDialog)用来设计具有依赖关系的窗口,通常在已有的对话框上创建对话框,已有的对话框称为父窗口,新创建的称为子窗口。

1对话框的创建:可以通过类javax.swing.JDialog的构造方法(A-B)A: public JDialog (Dialog owner, String title, boolean modal)B: public JDialog (Frame owner, String title, boolean modal)参数owner指定对话框的父窗口,参数title指定当前对话框的标题,参数modal指定对话框的模式,其中A方法新创建对话框的父窗口也是对话框,B方法新创建对话框的父窗口是框架。

对话框的模式有两种:当modal为true时,新创建的对话框是有模式对话框(一般无法通过图形界面用户操作父窗口,而只能与作为子窗口的有模式对话框进行交互,在关闭有模式对话框后,其父窗口才回到激活的状态),否则是无模式对话框(无模式对话框与其父窗口都处于激活的状态,当关闭无模式对话框时,其父窗口仍然存在,但是当关闭其父窗口时,通常会自动关闭该无模式对话框)。

2设置对话框的大小和可见性属性:可以通过类javax.swing.JDialog的成员方法(A-B)A: public voidSetSize (intwidth,int height)设置对话框的大小,width和height分别对应框架的宽度和高度。

相关文档
最新文档