Swing常用控件
JavaSwing界面设计(所有控件及示例)
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("学生信息管理系统");
第16章 Swing常用控件
北京源智天下科技有限公司
1-16
联系方式:
16.5.1 创建滑块
JSlider类是Swing包中提供的用于实现滑块的控件,通过JSlider 控件可以让用户在限定的范围内方便地选择需要的值.JSlider类 提供的滑块可以是水平方向的,也可以是垂直方向的,并且可以 根据需要设置成为不同的外观风格. 提示:滑块组件是由可以拖动的滑块和一个范围组件组成的;用 户可以通过拖动滑块在一个区间范围里进行选择. JSlider ageSlider = new JSlider(); ageSlider = new JSlider(SwingConstants.VERTICAL,0,120,20);
将菜单项加入到子菜单或菜单中将子菜单加入到菜单中将菜单加入到菜单栏中72创建菜单在上一小节对菜单进行了简单的介绍在本节中就来先创建一个简单的菜单然后再对菜单进行更详细的讲解
第16章 Swing常用控件
如果在超市中只卖一种商品,那就会非常单一的.在上一章学习 布局管理器时就有这样的感觉,都是使用按钮控件来进行举例说 明,这就好像超市中只卖一种商品.在本章中就来为超市中提供 更多的商品,在Swing中也就是更多的控件.控件是使界面内容丰 富的一个必不可少的一部分,在Swing中的控件除了按钮之外,还 包括文本框,复选框,单选按钮和菜单等很多内容.通过本章的 学习,读者应该完成如下几个目标. 了解如何创建文本框和文本框的实际应用. 了解如何创建复选框和复选框的实际应用. 了解如何创建单选按钮和单选按钮的实际应用.
1-8
联系方式:
16.2.2 创建复选框
通过JRadioButton与ButtonGroup的配合使用,可以很方便地实现 单项选择.若需要使用多项选择,则应该使用复选框—— JCheckBox类.与JRadioButton的不同是,JCheckBox不需要编组 使用,各个选项之间没有逻辑约束关系. 提示:通过JRadioButton与ButtonGroup的配合使用,可以很方便 地实现单项选择. 该类提供了8个构造器,表中列出了其中7个比较常用的.
java swing常用的9种组件
在Java1.0中,已经有一个用于GUI编程的类库AWT(Abstract Window Toolkit),称之为抽象窗口工具箱。
遗憾的是,AWT中的组件(例如按钮,类名为Button)在实现中使用了本地代码(Native Code),这些组件的创建和行为是由应用程序所在平台上的本地GUI工具来处理的。
因此,AWT组件要在不同的平台上提供给用户一致的行为就受到了很大的限制。
同时,AWT组件中还存在很多bug,这就使得使用AWT来开发跨平台的GUI应用程序困难重重。
1996年,SUN公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。
Swing组件和原来的AWT组件完全不同,最大的区别就是Swing组件的实现中没有使用本地代码,这样对底层平台的依赖型就大为降低,并且可以给不同平台的用户一致的感觉。
此外,和原来的AWT相比,Swing 中提供了内容更多、使用更为方便的组件。
在阅读一些书籍时,常会遇到名词JFC(Java Foundation Class)。
JFC的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。
实际上,Swing只是JFC的一部分,其它的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等等。
Swing并不是完全取代了AWT,Swing只是使用更好的GUI组件(如JButton)代替AWT 中相应的GUI组件(如Button),并且增加了一些AWT中原来所没有的GUI组件。
并且,Swing 仍使用AWT 1.1的事件处理模型。
虽然现在AWT组件仍得到支持,但是建议在你的应用程序中尽量使用Swing组件和1.1的事件模型。
1.标签(JLabel)标签(JLabel)通常是用来标识另外一个组件的含义。
以在标签上显示文字、图象或是文字图象的组合。
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组件大全
一抛砖引玉本文指在利用一个小程序”Swing 组件大全”来引导大家学习Java这门语言,熟悉Ja va Swing的各个组件。
并在学习过程中参考作者设计这一程序的方法和思想,最终形成自己的思维方式和学习方式。
你能举一返三是作者最开心的事情。
小程序演示了Java Swing 大部分组件。
最后附上了全部代码及详细的注释说明。
希望本文能对大家学习Java有所帮助。
随着Java风潮席卷国内,学习Java的方法和路径越来越多。
而在大量的书本前,在J ava庞大的类库前大大家都有点迷失方向的感觉,是学J2EE,J2ME还是。
然而所有的这些都或多或少的离不开J2SE。
万丈高楼平地起。
J2SE是整个Java的基础,学好了这个对Java的各个方向都是很有利的。
而学习J2SE的最初点就在界面设计,因为界面编程是你来感觉最直接的手段,是提高大家编程兴趣的很好开始,因为你写完程序编译后可马上看到自己的成果。
而不像后台编程做完了都感受不到效果。
而好的界面也是你测试你其他程序的基础。
界面设计!不就是拖拉操作吗?如果是VB,VC等可视化的编程,的确只是一些拖拉操作,由于Java语言的设计中所有的东西都是程序代码,在Java中如果想要设计一个好的界面,可不是简单的拖拉操作能完成的。
即使使用了如JBuilder这么强大的可视化工具,你也得亲自动手写一些界面设计代码才能很好的完成你的任务。
如果你能在此基础上理解Java界面设计的思想,对你学习这门语言将有莫大的帮助。
Java界面设计主要涉及Awt,Swing两大类库,Swing是Awt的扩展和功能加强。
下面我们就以Swing为基础来说说整个Java的界面设计。
二感受效果在开始之前,让我们看看这篇文章要达到的效果,有了目标和成果才有学习的兴趣,起码我是这样认为和学习的。
如下图所示,这就是我们设计的界面,它包括了Swing中大部分常用的组件。
有些功能界面上反映不出来,大家可尝试编译源代码点南击各个部分,看看它们的响应事件。
Swing组件应用介绍课件
2
桌面应用:Swing组件在桌 面应用中广泛使用,如文件
管理器、邮件客户端等。
3
教育应用:Swing组件在教 育应用中广泛使用,如教学
软件、在线课程等。
4
游戏应用:Swing组件在游 戏应用中广泛使用,如2D
游戏、休闲游戏等。
组件选择与搭配
选择合适的组件:根据需求选择合适的Swing组 件,如按钮、文本框、列表等。
● 窗口组件:JFrame、JDialog、JWindow ● 面板组件:JPanel、JScrollPane、JSplitPane ● 按钮组件:JButton、JToggleButton、JCheckBox ● 文本组件:JLabel、JTextField、JPasswordField ● 选择组件:JComboBox、JList、JRadioButton ● 图像组件:JIcon、JImageIcon、JLabel ● 菜单组件:JMenuBar、JMenu、JMenuItem ● 工具栏组件:JToolBar、JButton、JToggleButton ● 布局管理器:BorderLayout、FlowLayout、GridLayout ● 事件处理:ActionListener、MouseList减少组件数量:尽量减少不 必要的组件,提高页面加载
速度
缓存数据:对于经常使用的数 据,可以缓存起来,减少服务
器请求次数
延迟加载:对于不需要立即 显示的组件,可以延迟加载,
提高页面响应速度
压缩图片:对于页面中的图 片,可以压缩后再使用,减 少页面大小,提高加载速度
04
企业级应用开发: Swing组件可用于开发 企业级应用,如ERP、 CRM等。
● 标签(JLabel):用于显示文本或图标 ● 按钮(JButton):用于触发事件 ● 文本框(JTextField):用于输入文本 ● 列表框(JList):用于显示和选择列表项 ● 组合框(JComboBox):用于从列表中选择项目 ● 复选框(JCheckBox):用于表示选中或未选中状态 ● 单选按钮(JRadioButton):用于表示选中或未选中状态,一组单选按钮只能选中一个 ● 滚动条(JScrollBar):用于滚动显示内容 ● 表格(JTable):用于显示和编辑表格数据 ● 树(JTree):用于显示和编辑树形结构数据 ● 菜单(JMenu):用于显示和选择菜单项
Java桌面程序开发第5章-使用Swing常用组件
面所需要的基本组件、选择型组件,菜单等的创建和使用 2.理解:工具栏的创建,对话框的创建和使用
5.1 GUI的基本元素:标签、按钮、文本框
1.JLabel
• JLabel类是一个用来显示文本的类,文本就是一个字符串。在程 序中指定要显示的字符串,但该字符串在运行时不能被用户修改
密码文本框是用来输入密码的文本框。
密码框继承单行文本框,所以密码框只显示单行输入框。 但是,与单行文本框不同的是,密码框输入的文字将不会 正常显示出来,而是使用其它字符代替。
可以通过调用setEchoChar(char c)来更改显示字符。密 码框的作用是防止别人看到所输入的文字信息。
JPasswordField的构造方法:
JCheckBox类继承JToggleButton类,而JToggleButton类 实现一个反选按键,只有按下和释放两种状态。复选框也 有类似功能,只有选择和不选择两种状态,而且复选框可 由多个按钮组成一个组群。
定义它们之间的间隔。 • int getHorizontalAlignment():返回标签内容沿 X 轴的对齐方式。 • int getVerticalAlignment() :返回标签内容沿 Y 轴的对齐方式。 • void setLabelFor(Component c):设置将标签添加到的组件。
区要换行)。
实例
例5-10 使用JTextArea
例5-11 从一个文本区复制选中的文字到另一个文本区
5.3 选择型组件
Java提供了很多的选择型组件,用户可通过单击选定,免 去了输入文本的麻烦。
常用的选项组件有单选框,复选框,列表框,组合列表框 等。
常用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( ) 来清除显示区 体中 , 首先调用方法 ( 域。
Swing 图形用户界面中常用的组件
9.1.1JApplet由于所有的Swing GUI组件都应该包含在JApplet小程序中,且javax.Swing.JApplet是java.applet.Applet的子类,所以本章主要介绍javax.Swing的“J组件”,应用程序均以JApplet小程序为例。
JApplet的使用与Applet小程序相似,它们与HTML文件的配合没有什么差别,差别仅在默认布局策略与个别方法的使用上,这将在讲述到有关内容时加以讨论。
9.1.2 Swing中常用的包由于Swing功能相当强大且复杂,考虑到功能分解的原则,Java系统将Swing按不同功能分为表9.1所示的若干个包,它们分别针对于不同的组件及事件。
表9.1 Swing中常用的包包名说明javax.swing 最常用的包,包含了各种Swing组件的类javax.swing.border 包含与Swing组件外框有关的类javax.swing.colorchooser 针对Swing调色版组件(JColorChooser)设计的类javax.swing.event 处理由Swing组件产生的事件javax.swing.filechooser 包含针对Swing文件选择对话框(JFileChooser)所设计的类javax.swing.plaf 处理Swing组件外观的相关类javax.swing.table 针对Swing组件表格(JTable)所设计的类javax.swing.text包含与Swing文字组件相关的类javax.swing.text.htmljavax.swing.text.html.parserjavax.swing.text.rtfjavax.swing.tree 针对Swing树状元素(JTree)所设计的类javax.swing.undo 提供Swing文字组件的Redo与Undo功能表9.1 Swing中常用的包9.1.3常用组件的继承关系由于本章所述组件所使用的成员方法主要是继承其直接父类或更高层父类的成员方法,为了正确地使用这些组件,有必要了解每个组件的继承关系。
5-3 Swing控件
JTextComponent一些方法
文本域 JTextField
• 文本域是一个单行的文本输入框,可用于输入少
•
量文本 五个构造方法
– JTextField() —— 构造一个空文本域 – JTextField(int columns) —— 构造一个具有指定列数的 空文本域, – JTextField(String text) —— 构造一个显示指定初始字符 串的文本域 – JTextField(String text, int columns) —— 构造一个具有指 定列数、并显示指定初始字符串的文本域 – JTextField(Document doc, String text, int columns) —— 构造一个使用指定文档、具有指定列数、并显示指定 初始字符串的文本域,doc可以为null,此时一个缺省
程序:JTextFieldDemo.java
文本区 JTextArea
• 文本区是一个多行多列的文本输入框,有多种构
造方法
– JTextArea() —— 构造一个空文本区 – JTextArea(String text) —— 构造一个显示指定初始字符 串的文本区 – JTextArea(int rows, int columns) —— 构造一个具有指定 行数和列数的空文本区, – JTextArea(String text, int rows, int columns) —— 构造一 个具有指定行数和列数、并显示指定初始字符串的文 本区 – JTextArea(Document doc) —— 构造一个使用指定文档 的文本区 – JTextArea(Document doc, String text, int rows, int
Swing组件大全
一抛砖引玉本文指在利用一个小程序”Swing 组件大全”来引导大家学习Java这门语言,熟悉Ja va Swing的各个组件。
并在学习过程中参考作者设计这一程序的方法和思想,最终形成自己的思维方式和学习方式。
你能举一返三是作者最开心的事情。
小程序演示了Java Swing 大部分组件。
最后附上了全部代码及详细的注释说明。
希望本文能对大家学习Java有所帮助。
随着Java风潮席卷国内,学习Java的方法和路径越来越多。
而在大量的书本前,在J ava庞大的类库前大大家都有点迷失方向的感觉,是学J2EE,J2ME还是。
然而所有的这些都或多或少的离不开J2SE。
万丈高楼平地起。
J2SE是整个Java的基础,学好了这个对Java的各个方向都是很有利的。
而学习J2SE的最初点就在界面设计,因为界面编程是你来感觉最直接的手段,是提高大家编程兴趣的很好开始,因为你写完程序编译后可马上看到自己的成果。
而不像后台编程做完了都感受不到效果。
而好的界面也是你测试你其他程序的基础。
界面设计!不就是拖拉操作吗?如果是VB,VC等可视化的编程,的确只是一些拖拉操作,由于Java语言的设计中所有的东西都是程序代码,在Java中如果想要设计一个好的界面,可不是简单的拖拉操作能完成的。
即使使用了如JBuilder这么强大的可视化工具,你也得亲自动手写一些界面设计代码才能很好的完成你的任务。
如果你能在此基础上理解Java界面设计的思想,对你学习这门语言将有莫大的帮助。
Java界面设计主要涉及Awt,Swing两大类库,Swing是Awt的扩展和功能加强。
下面我们就以Swing为基础来说说整个Java的界面设计。
二感受效果在开始之前,让我们看看这篇文章要达到的效果,有了目标和成果才有学习的兴趣,起码我是这样认为和学习的。
如下图所示,这就是我们设计的界面,它包括了Swing中大部分常用的组件。
有些功能界面上反映不出来,大家可尝试编译源代码点南击各个部分,看看它们的响应事件。
Swing常用组件
Swing对话框-JDialog
• 对话框也是编写GUI程序中经常使用到的顶 层容器。 • JDialog类扩展了java.awt.Dialog类。下 面使用JDialog创建了一个最简单的对话框, 代码如下:
JDialog区分模式对话框和非模式对话框
• 非模式对话框允许用户同时在对话框和程 序的主窗口中输入信息; • 模式对话框在处理完之前不能与程序的主 窗口进行交互。 • 创建一个模式对话框的代码如下:
宿主平台的窗口系统所提供的代码,是轻量级组件
(light weight components)。
Swing的一部分重要特点
• • • • • Swing组件独立于本地窗口系统 Swing组件可以在任何支持AWT的平台系统中运行 Swing完全用Java来执行许多传统的AWT组件 Swing与AWT兼容并且Swing组件能够与AWT组件交 换使用 Swing提供的GUI控件的数量和质量是其他任何GUI 工具包都不可比拟的 Swing拥有一套丰富的、友好的界面元素 在不同的平台上,Swing提供了一致的用户体验 对于Sun公司的“一次编写,到处运行”的理念, Swing将它变成了现实。
Java事件类及其继承关系
Swing中组件的继承关系
Swing组件和容器
• JComponent是一个抽象类,用于定义所有子类组 件的一般方法,其类层次结构如下所示。 ng.Object | +ponent | +--java.awt.Container | +--javax.swing.JComponent • 并不是所有的Swing组件都继承于JComponent类, JComponent类继承于Container类,所以,凡是此 类的组件都可作为容器使用。
第08章 常用Swing组件
Java程序设计
第8章 常用Swing组件
3.组件的大小与位置
public void setSize(int width,int height) 设置组件 的大小,参数width指定组件的宽度,height指定 组件的高度。
public void setLocation(int x,int y) 设置组件在容 器中的位置,容器的坐标系的左上角的坐标是 (0,0),参数x,y指定该组件距容器的左边界 x个像素, 距容器的上边界 y 个像素。 public Dimension getSize() 方法返回的 Dimension 对象的width的值就是组件的宽度、 height的值就是当前组件的高度。
Java程序设计
第8章 常用Swing组件
JComponent类的功能(续)
4) 键盘导航:使用registerKeyboardAction( ) 方法,能使 用户用键盘代替鼠标来驱动组件。JComponent类的子类 AbstractButton还提供了setMnemonic( )方法指明一个 字符,通过这个字符和一个当前L&F的特殊修饰共同激活 按钮动作。
Java程序设计
第8章 常用Swing组件
5.组件上的光标
public void setCursor(Cursor c) 设置鼠标指向组 件时的光标形状。 可以使用 Cursor类的类方法直接获得一个光标对象, 例如:
Cursor c; c=Cursor.getPredefinedCursor(Cursor.HAND_CURSOR );
设置标签的文本
设置标签内组件的水平对齐方式 设置标签内组件的垂直对齐方式 设置标签内文字与图标的水平相对位 置 设置标签内文字与图标的垂直相对位 置
JavaSwing控件属性归纳
JavaSwing控件属性归纳Java Swing控件属性归纳了解各种用户界面组件:JButton、JLabel、JTextField、JTextArea、JComboBox、Jlist、JCheckBox、JRadioButton、JMenuBar、JMenu、JMenuItem、JC heckBoxMenuItem、JRadioButtonMenuItem、JScrollBar、JScrol lPane、JTabbedPane等一、JButton¨按钮是一种点击时触发行为事件的组件。
¨按钮的四个构造方法:" public Jbutton()创建一个空按钮" public JButton(String text)创建一个标有指定文字的按钮" public JButton(Icon icon)创建一个标有指定图标的按钮" public JButton(String text,Icon icon)创建一个标有指定文字和图标的按钮¨图标:是一个固定大小的图片,典型的图标体形较小,用于装饰组件。
利用类ImageIcon可以从图像文件中得到图标,如:Icon icon=new ImageIcon(“photo.gif”);JButton的属性¨ text:按钮上的标签,例如可用jbt.setText(“OK”)给按钮jb t设置标签。
¨icon:按钮上的图标,例如可用jbt.setTextIcon(new ImageI con(“a.gif”))。
¨ mnemonic:指定热键。
同时按下ALT键和指定热键相当于按下该按钮。
例如使用jbt.setMnemonic(‘O’)可将O设置为按钮jbt 的热键。
¨horizontalAlignment:此属性只有三个值SwingConstants. LEFT,SwingConstants.CENTER, SwingConstants.RIGHT。