Java_Swing图形界面开发(常用组件)
图形用户界面设计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界面设计(所有控件及示例)

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("学生信息管理系统");
Java的形化界面开发选择合适的框架与工具

Java的形化界面开发选择合适的框架与工具Java的图形界面开发选择合适的框架与工具Java是一种跨平台的编程语言,广泛应用于软件开发领域。
在图形界面开发方面,Java提供了多个框架与工具,开发者可以根据自身需求选择合适的组件和工具来进行开发。
本文将介绍几个常用的Java图形界面开发框架与工具,并分析它们的优势和适用范围。
一、Swing框架Swing是Java平台提供的主要图形界面开发框架之一。
它基于Java的AWT(Abstract Window Toolkit)框架,提供了丰富的GUI组件和强大的事件处理机制。
Swing具有良好的跨平台性能和灵活的可定制性,适用于开发各种类型的桌面应用程序。
Swing框架提供了一系列面向对象的GUI组件,如按钮、标签、文本框、表格等,开发者可以通过组合这些组件来构建复杂的用户界面。
此外,Swing还支持图形渲染、国际化和可访问性等功能,使得应用程序更加美观、易用和易于维护。
二、JavaFX框架JavaFX是Java平台的另一个重要图形界面开发框架。
它是在Java SE 8及其之后版本中引入的,作为Swing的继任者。
JavaFX框架提供了现代化的UI组件和丰富的动画效果,支持CSS样式表和FXML布局文件,极大地简化了界面设计和开发流程。
JavaFX具有良好的性能和优秀的渲染效果,在图形处理、媒体播放和界面布局等方面有着卓越的表现。
它的线程模型也更加灵活,能够实现响应式的用户界面设计。
三、AWT框架AWT是Java最早引入的图形界面开发框架。
它是使用本地窗口系统提供的原生组件,因此在外观和行为上与操作系统保持一致。
AWT 提供了一系列基本的GUI组件,如按钮、标签、文本框等,可以通过AWT的布局管理器来进行界面排版。
尽管AWT能够提供与操作系统一致的外观,但它的定制性和可扩展性相对较差。
另外,AWT的组件在跨平台上的兼容性也有一定的问题。
因此,在现代的Java应用程序开发中,AWT的使用相对较少,主要用于一些特定场景或需要与底层系统交互的应用。
JavaSwing图形界面开发(常用组件)

按钮组件综合应用程序运行结果:
图4.10 按钮组件综合应用
29
4.3 本章小结
1、在顶层窗口中添加标签 将标签控件添加到顶层窗口的内容面板上即可。 标签上的文字,可使用“构造器”和“setText()”两种方法来创建。
2、普通按钮控件的添加 将按钮控件添加到顶层窗口的内容面板上即可。 按钮上的文字,可使用构造器创建。
16
4.2.2 如何使用单选按钮 即RadioButton,通过“JRadioButton类” 实现。 如:诸多管理软件中出现的“性别”单选按钮 。
图4.5 单选按钮示例图
要使用单选按钮,同样首先必须创建,然后再使用其 内置的方法来操纵组件。
17
表4.5 单选按钮的构造器
常用方法:与普通按钮类似。
2
4.1 如何使用标签
使用标签组件之前,首先必须要创建“标签组件对象”, 然后才能通过使用这个这个“对象中内置的方法”来操作。
一般而言,组件均通过自身的“构造器”来创建。
3
表4.1 常用的Label构造器
4
表4.2 Label常用内置方法 通过构造器创建Label组件后,即可通过组件内置的方
法来操纵这个组件。
5
使用标签示例程序1---在顶层容器中添加两个标签组件
(使用标签对象初始化方法,为Label赋初始值)
6
程序运行结果:
图4.1 使用对象初始化的方式赋值
7
使用标签示例程序2---在顶层容器中添加两个标签组件
(内置setText()方法赋值)
8
程序运行结果:
图4.2 使用标签内置方法赋值
9
4.2 如何使用按钮
18
单选按钮程序示例:
《JAVA》15Swing组件

//创建标题边框
new LineBorder(Color.RED, 1); //创建宽度为1的红色线性边框
15.2.1 Swing组件的通用特征
4. 设置组件的前景色和背景色
Swing组件具有前景色和背景色两个重要属性,
下面方法用于设置组件颜色。
public void setForeground(Color fg) public Color getForeground()
如:
public abstract void fillOval(int x, int y,
int width, int height) 画实心椭圆。
public abstract void drawPolygon(int[]
xPoints, int[] yPoints, int nPoints) 画x和y坐标定义的多边形。
public Icon getIcon()
15.2.1 Swing组件的通用特征
例15-2:演示Swing组件通用特征,并使用面
板构造复杂的图形用户界面。
SwingCommon Attributes.java 演示
Jcomponent及其子类
15.3 基本的swing GUI组件
按钮-JButton 复选框-JCheckBox
单选按钮-JRadioButton 标签-JLabel
文本域-JTextField
15.3 基本的swing GUI组件
文本区-JTextArea 组合框-JComboBox
列表框-JList 滚动条-JScrollBar 滑动块-JSlider
例15-3:创建一个演示按钮使用的窗口。
TestButton.java 演示
java swing组件用法

java swing组件用法Java Swing 是一个用于创建图形用户界面(GUI)的 Java 库。
Swing 组件可用于创建窗口、按钮、文本框等 GUI 元素。
以下是一些常用的 Java Swing 组件用法:1. JFrame:用于创建窗口。
例如:```javaJFrame frame = new JFrame("My Window");(400, 300);(_ON_CLOSE);(true);```2. JButton:用于创建按钮。
例如:```javaJButton button = new JButton("Click me");(new ActionListener() {public void actionPerformed(ActionEvent e) { // 按钮点击事件处理代码}});```3. JTextField:用于创建文本框。
例如:```javaJTextField textField = new JTextField();(new ActionListener() {public void actionPerformed(ActionEvent e) { // 文本框内容改变事件处理代码}});```4. JLabel:用于创建标签。
例如:```javaJLabel label = new JLabel("Hello, world!");5. JList:用于创建列表框。
例如:```javaDefaultListModel<String> model = new DefaultListModel<>(); ("Item 1");("Item 2");("Item 3");JList<String> list = new JList<>(model);```6. JTable:用于创建表格。
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)通常是用来标识另外一个组件的含义。
以在标签上显示文字、图象或是文字图象的组合。
列表组件

showText.append("\n"+s); inOne.close(); inTwo.close(); } catch(IOException ex) { showText.setText(ex.toString()); } } } 运行结果:
10.9 列表组件
2020年1月6日 10:28
下拉列表是用户十分熟悉的一个组件。 用户可以在下拉列表看到第一个选项和它旁边的箭头按钮,当用户单击 箭头按钮时, 选项列表打开。
1.下拉列表常用方法 public JComboBox() 使用该构造方法创建一个没有选项 下拉列表。 public void addItem(ObjectanObject) 下拉列表调用该 方法增加选项。 public intgetSelectedIndex() 下拉列表调用该方法可 以返回当前下拉列表中被选 中的选项的索引,索引的起始 值是0。 public Object getSelectedItem() 下拉列表调用该方法 可以返回当前下拉列表中被 选中的选项。 public void removeItemAt(intanIndex) 下拉列表调用 该方法可以从下拉列表的选 项中删除索引值是anIndex选 项。 public void removeAllItems() 下拉列表调用该方法可 以删除全部选项。 public void addItemListener(ItemListener) 下拉列表 调用该方法可以向下拉列 表增加ItemEvent事件的监视器
JAVAswing-常用组件

JAVAswing-常⽤组件在图形⽤户界⾯编程中,我们常常会提供⽤户登陆界⾯,⽐如登陆到会员管理系统、登陆到⼯资管理系统、仓库管理系统...常⽤组件Ⅰ.⽂本框(JTextField)Ⅱ.密码框(JPasswordField)Ⅲ.标签(JLable)Ⅳ.复选框(JCheckBox)Ⅴ.单选框(JRadioButton)Ⅵ.组合单选框(ButtonGroup)Ⅶ.下拉框(JComboBox)Ⅷ.列表(JList)Ⅸ.滚动窗格组件(JScrollPane)Ⅹ.多⾏⽂本框(JTextArea)ⅩⅠ.选项卡(JTabbedPane)实例简单会员管理系统登录界⾯1/*2 * 作者:⽩客C3 * 时间:2020年03⽉05⽇4 * 内容:gui窗体5 * 步骤:6 * 1.继承JFrame容器7 * 2.定义需要的组件8 * 3.创建组件9 * 4.设置布局管理器10 * 5.添加组件11 * 6.对窗体设置12 * 7.显⽰窗体13*/1415package com.beekc.www;16import java.awt.*;17import javax.swing.*;1819//继承JFrame20public class Beekc extends JFrame{2122//定义组件23 JPanel jPanel1,jPanel2,jPanel3;24 JLabel jlb1,jlb2;25 JTextField jt;26 JPasswordField jpssswd;27 JButton jb1,jb2;2829public static void main(String[] args){30 Beekc beekc = new Beekc();31 }3233public Beekc(){34//创建组件35 jPanel1 = new JPanel();36 jPanel2 = new JPanel();37 jPanel3 = new JPanel();3839 jlb1 = new JLabel("⽤户");40 jlb2 = new JLabel("密码");41 jt = new JTextField(10);42 jpssswd = new JPasswordField(10);43 jb1 = new JButton("登录");44 jb2 = new JButton("注册");4546//设置布局管理器47this.setLayout(new GridLayout(3,1));48//添加JPanel49 jPanel1.add(jlb1);50 jPanel1.add(jt);51 jPanel2.add(jlb2);52 jPanel2.add(jpssswd);53 jPanel3.add(jb1);54 jPanel3.add(jb2);55//JPanel添加到JFanel56this.add(jPanel1);57this.add(jPanel2);58this.add(jPanel3);5960//窗体设置61this.setTitle("会员管理系统");62this.setSize(270,150);63this.setResizable(false);64this.setLocation(200,200);65this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);6667//显⽰68this.setVisible(true);6970 }7172 }⽤户注册界⾯1/*2 * 作者:⽩客C3 * 时间:2020年03⽉06⽇4 * 内容:gui窗体5 * 步骤:6 * 1.继承JFrame容器7 * 2.定义需要的组件8 * 3.创建组件9 * 4.设置布局管理器10 * 5.添加组件11 * 6.对窗体设置12 * 7.显⽰窗体13*/1415package com.beekc.www;161718import javax.swing.*;19import java.awt.*;2021//继承JFrame22public class Beekc extends JFrame {2324//定义组件25 JPanel jPanel1,jPanel2,jPanel3;26 JLabel jlb1,jlb2;27 JCheckBox jc1,jc2,jc3;28 JRadioButton jrb1,jrb2;29 ButtonGroup bg;30 JButton jb1,jb2;3132public static void main(String[] args){33 Beekc beekc = new Beekc();34 }3536//构造函数37public Beekc(){38//创建组件39 jPanel1 =new JPanel();40 jPanel2 =new JPanel();41 jPanel3 =new JPanel();42 bg = new ButtonGroup();4344 jlb1 = new JLabel("你喜欢的运动");45 jlb2 = new JLabel("性别");46 jc1 =new JCheckBox("⾜球");47 jc2 =new JCheckBox("篮球");48 jc3 =new JCheckBox("排球");49 jrb1 = new JRadioButton("男");50 jrb2 = new JRadioButton("⼥");51 jb1 = new JButton("注册");52 jb2 = new JButton("取消");5354//设置布局管理器5556//JRadioButton添加ButtonGroup为⼀组57 bg.add(jrb1);58 bg.add(jrb2);5960//组件加到JPanel61 jPanel1.add(jlb1);62 jPanel1.add(jc1);63 jPanel1.add(jc2);64 jPanel1.add(jc3);65 jPanel2.add(jlb2);66 jPanel2.add(jrb1);67 jPanel2.add(jrb2);68 jPanel3.add(jb1);69 jPanel3.add(jb2);70//布局71this.setLayout(new GridLayout(3,1));7273//添加组件74this.add(jPanel1);75this.add(jPanel2);76this.add(jPanel3);7778//对窗体设置79this.setTitle("⽤户注册");80this.setSize(270,150);81this.setResizable(false);82this.setLocation(200,200);83this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 8485//显⽰86this.setVisible(true);878889 }9091 }⽤户调查界⾯1/*2 * 作者:⽩客C3 * 时间:2020年03⽉06⽇4 * 内容:gui窗体5 * 步骤:6 * 1.继承JFrame容器7 * 2.定义需要的组件8 * 3.创建组件9 * 4.设置布局管理器10 * 5.添加组件11 * 6.对窗体设置12 * 7.显⽰窗体13*/1415package com.beekc.www;16import java.awt.*;17import javax.swing.*;1819//继承JFrame20public class Beekc extends JFrame{2122//定义组件23 JPanel jPanel1,jPanel2;24 JLabel jlb1,jlb2;25 JComboBox jcb;26 JList jl;27 JScrollPane jsp;2829public static void main(String[] args){30 Beekc beekc = new Beekc();31 }3233//构造函数34public Beekc(){35//创建组件36 jPanel1 = new JPanel();37 jPanel2 = new JPanel();38 jlb1 = new JLabel("籍贯");39 jlb2 = new JLabel("旅游地⽅");4041 String[] strJComboBox = {"北京","天津","⼴东"};42 jcb = new JComboBox(strJComboBox);4344 String[] strJLIst = {"故宫","天安门","长城","颐和园"};45 jl = new JList(strJLIst);46//设置显⽰多少个47 jl.setVisibleRowCount(3);48 jsp = new JScrollPane(jl);4950//设置布局管理器51//添加到JPanel52 jPanel1.add(jlb1);53 jPanel1.add(jcb);54 jPanel2.add(jlb2);55 jPanel2.add(jsp);5657this.setLayout(new GridLayout(1,2));5859//添加组件60this.add(jPanel1);61this.add(jPanel2);6263//对窗体设置64this.setTitle("⽤户调查");65this.setSize(270,110);66this.setResizable(false);67this.setLocation(200,200);68this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 6970//显⽰71this.setVisible(true);72 }7374 }翻译软件界⾯1/*2 * 作者:⽩客C3 * 时间:2020年03⽉06⽇4 * 内容:gui窗体5 * 步骤:6 * 1.继承JFrame容器7 * 2.定义需要的组件8 * 3.创建组件9 * 4.设置布局管理器10 * 5.添加组件11 * 6.对窗体设置12 * 7.显⽰窗体13*/1415package com.beekc.www;16import java.awt.*;17import javax.swing.*;1819//继承JFrame20public class Beekc extends JFrame{2122//定义组件23 JSplitPane jsp;24 JList jList;25 JLabel jl1;2627public static void main(String[] args){28 Beekc beekc = new Beekc();29 }3031//构造函数32public Beekc(){33//创建组件34 String[] words = {"bird","boy","girl"};35 jList =new JList(words);36//new ImageIcon,存放图⽚37 jl1 = new JLabel(new ImageIcon("images/jinshanciba.png"));38//拆分窗体39 jsp = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,jList,jl1); 40//可以收缩41 jsp.setOneTouchExpandable(true);4243//设置布局管理器4445//添加组件46this.add(jsp);4748//窗体设置49this.setTitle("⾕歌翻译");50this.setSize(760,480);51this.setLocation(200,200);52this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);5354//显⽰55this.setVisible(true);56 }57 }聊天界⾯1/*2 * 作者:⽩客C3 * 时间:2020年03⽉06⽇4 * 内容:gui窗体5 * 步骤:6 * 1.继承JFrame容器7 * 2.定义需要的组件8 * 3.创建组件9 * 4.设置布局管理器10 * 5.添加组件11 * 6.对窗体设置12 * 7.显⽰窗体13*/1415package com.beekc.www;16import java.awt.*;17import javax.swing.*;1819//继承JFrame20public class Beekc extends JFrame{2122//定义组件23 JTextArea jTextArea;24 JScrollPane jScrollPane;25 JPanel jPanel;26 JTextField jTextField;27 JButton jButton;2829public static void main(String[] args){30 Beekc beekc = new Beekc();31 }3233//构造函数34public Beekc(){35//创建组件36 jTextArea = new JTextArea();37 jScrollPane = new JScrollPane(jTextArea);3839 jPanel = new JPanel();40 jTextField = new JTextField(20);41 jButton = new JButton("发送");4243//设置布局管理器44//添加到JPanel45 jPanel.add(jTextField);46 jPanel.add(jButton);4748//添加组件49this.add(jScrollPane);50this.add(jPanel,BorderLayout.SOUTH);5152//窗体设置53this.setTitle("聊天界⾯");54this.setIconImage((new ImageIcon("images\\qq.png")).getImage()); 55this.setSize(320,270);56this.setLocation(200,200);57this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);5859//显⽰60this.setVisible(true);61 }6263 }聊天登录界⾯。
Java Swing-图形化界面-菜单组件

//菜单条、菜单、菜单项是窗口常用的组件,菜单放在菜单条里,菜单项放在菜单里/**JMenuBar菜单条* JComponent类的子类JMenubar是负责创建菜单条的,即JMenuBar的一个实例就是一个菜单条。
* JFrame类有一个将菜单条放置到窗口中的方法:* public void setJMenuBar(JMenuBar mmenubar);* 该方法将菜单条添加到窗口的菜单条区域(注意:只能向窗口添加一个菜单条)*//**JMenu菜单* JComponent的子类JMenu是负责创建菜单的,即JMenu的一个实例就是一个菜单。
* JMenu类的主要方法:* JMenu(String s)-建立一个指定标题菜单,标题由参数s确定*public void add(MenuItem item)----向菜单增加由参数item指定的菜单选择对象*public void add(String s)----向菜单增加指定的选项*public JMenuItem getItem(int n)----得到指定索引处的菜单选项*public int getItemCount()----得到菜单选项数目*//**JMenuItem菜单项* JMenuItem是JMenu的父类,该类负责创建菜单项的,即JMenuItem的一个实例就是一个菜单项。
菜单项放在菜单里。
* JMenuItem类的主要方法:* JMenuItem(String s)----构造有标题的菜单项* JMenuItem(String text,Icon icon)----构造有标题和图标的菜单项* public void setEnabled(boolean b)----设置当前菜单项是否可被选择* public String getLabel()----得到菜单项的名字* public void setAccelerator(KeyStroke keyStroke)----为菜单项设置快捷键* 注:为向该方法的参数传递一个KeyStroke对象,可以使用KeyStroke类的类方法public static Keystroke* getKeyStroke(char keychar)返回一个KeyStroke对象;也可以使用KeyStroke类的类方法public static* Keystroke getKeyStroke(int keyCode,int modifiers)返回一个Keystroke对象,其中参数KeyCode的* 取值范围为KeyEvent.VK_A~KeyEvent.VK_Z,modifiers的取值如下:InputEvent.ALT_MASK,* InputEvent.CTRL_MASK,InputEvent.SHIFT_MASK*//**嵌入子菜单* JMenu是JMenuItem的子类,因此菜单项本身还可以是一个菜单,这样的菜单项称为子菜单。
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语言中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 图形用户界面中常用的组件

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常用组件的继承关系由于本章所述组件所使用的成员方法主要是继承其直接父类或更高层父类的成员方法,为了正确地使用这些组件,有必要了解每个组件的继承关系。
java图形用户界面设计Swing常用组件(阅读)

for ( int i=j0f;.i<s3e6t;Bi+a+)c{kground(Color.blue);
JPanel jPanel = new JPanel();
jf.getContentPane().setBackground(Color.black);
文本框默认为可编辑的
获得文本域的内容 x= Integer.parseInt(text1.getText().trim()); 重新设置文本域的内容
resultText.setText(s);
NCEPU
Swing的常用组件——JTextField
获取两个文本域的输入并求和,然后显示在第三个文本域中。
NCEPU
其他Swing组件的使用
NCEPU
Swing的常用组件—复选框JCheckBox
JCheckBox(复选框)有选中和未选中两种状态,允许用户从 一组选项中进行多个选择。
getText setText
获取复选框的文本 设置复选框的文本
NCEPU
Swing的常用组件—复选框JCheckBox
}
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); }
Java-Swing图形界面开发(第9章)

如何使用进度条、时间、滑块和分隔条组件
第1页,共23页。
进度条---安装软件、拷贝文件等时,经常用到进度条组件。
(显示操作完成的百分比,可观察和感知操作的进度) 时间---时间组件用于在一段时间内,依次做出所指定的操作。
(控制事件的发生频率) 滑块---显示主刻度标记和次刻度标记,刻度标记的中间值的个数。
工作。因此,也可利用Thread功能,产生同样效果。
9 第9页,共23页。
程序示例:进度条&Timer结合
参见代码:
10
第10页,共23页。
运行结果:
图9.3 Timer组件和JProgressBar组 合
图9.4 单击后的进度条
11
第11页,共23页。
9.3 如何使用滑块组件JSlider
滑块与进度条的功能很相似,只是进度条为“离散”选择 项,而滑块是“连续相同类型的值的设置”。
7 第7页,共23页。
9.2 如何使用时间组件Timer
利用Timer组件可在一段时间内,依次做出所指定的操作,这在
动画的展示上非常有用。 Timer的构造器:Timer(int delay,ActionListener listener)
(创建一个“每delay毫秒将通知其事件监听器”的Timer) 利用Timer组件可在“delay时间内”周期性触发ActionEvent事件,如果要处 理这个事件,则必须实现ActionListener接口所定义的actionPerformed()方法
表9.1 JProgressBar的构造器
3
第3页,序
4
第4页,共23页。
运行结果:
图9.1 创建JProgressBar进度条(a)
java 图形用户界面-SWING组件18-Swing

2010年12月25日 三峡大学理学院 雷国洪 16
6 文本组件
- 顶级容器 - 中间容器
2010年12月25日 三峡大学理学院 雷国洪 7
顶级容器
• JFrame:用于框架窗口的类,此窗口带有 :用于框架窗口的类, 边框、标题、 边框、标题、用于关闭和最小化窗口的图 标等。 标等。带 GUI 的应用程序通常至少使用 一个框架窗口。 一个框架窗口。 • JDialog:用于对话框的类。 :用于对话框的类。 • JApplet:用于使用 Swing 组件的 Java : Applet 的类。
int
2010年12月25日
三峡大学理学院 雷国洪
18
JTextArea
• JTextArea 组件用于接受来自用户的多行文本 • 它可实现可滚动界面 • JTextArea 组件可使用下列构造函数创建: 组件可使用下列构造函数创建: JTextArea() JTextArea(int rows, int cols) JTextArea(String text) … JLabel jl = new JLabel(“文本区”); 文本区” 文本区 JTextArea(String text, int rows, int cols) con.add(jl); JTextArea(Document doc) JTextArea ta = new JTextArea(5,10); con.add(ta); JTextArea(Document doc, String text, int rows, … int cols)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何使用标签和按钮组件
“标签”和“按钮”是开发图形界面必须用到的基本组件, 几乎所有的程序界面都会用到。 ◆ 标签
---用于标识名称、说明性文字。 ---通常,标签所显示的文本是不变的,也是禁止编辑的。
不过,可通过代码方式,让标签的文字发生改变。
◆ 按钮
---实现人机对话最基本的组件。 ---如ATM,当输入密码后,即会有几个按钮控件供用户选择。
实际上,AbstractButton类不但被JButton继承,同时还
被JMenuItem、JToggleButton、JCheckBox、
JRadioButton
等类继承。
按钮组件有多种,包括“普通按钮、单选按钮、复选框”
。
11
4.2.1 如何使用普通按钮
普通按钮是图形界面开发中使用最多的组件之一。 如:“登录窗口”要求输入“用户名”和“密码”后, 用户选择“确定”还是“取消”的按钮组件就是普通按钮。 与标签组件类似,首先必须创建一个按钮组件类对象,然 后再通过使用类中“内置的方法”来操纵该对象。
16
4.2.2 如何使用单选按钮 即RadioButton,通过“JRadioButton类” 实现。 如:诸多管理软件中出现的“性别”单选按钮 。
图4.5 单选按钮示例图
要使用单选按钮,同样首先必须创建,然后再使用其 内置的方法来操纵组件。
17
表4.5 单选按钮的构造器
常用方法:与普通按钮类似。
图4.8 多个按钮组
24
4.2.3 如何使用复选框 复选框利用“JCheckbox类”实现,与单选按钮的区别
是复选框可以多选。
表4.6 复选框的构造器
25
“复选框”程序示例 :
26
“复选框”程序运行结果 :
图4.9 如何添加复选框
27
4.2.4 按钮组件的综合应用
将所有类型的按钮组件绘制在顶层容器中。
3、单选按钮控件的添加 将按钮控件添加顶层窗口的内容面板上即可。 按钮旁边的文字,可使用ቤተ መጻሕፍቲ ባይዱ造器创建。 若要实现单选目的,则需要将单选的一批按钮划分到按钮组中。
4、复选框按钮控件的添加 将按钮控件添加到顶层窗口的内容面板上即可。 按钮旁边的文字,可使用构造器创建。
30
4.4 本章习题 习题:1,2,3,4
28
按钮组件综合应用程序运行结果:
图4.10 按钮组件综合应用
29
4.3 本章小结
1、在顶层窗口中添加标签 将标签控件添加到顶层窗口的内容面板上即可。 标签上的文字,可使用“构造器”和“setText()”两种方法来创建。
2、普通按钮控件的添加 将按钮控件添加到顶层窗口的内容面板上即可。 按钮上的文字,可使用构造器创建。
18
单选按钮程序示例:
19
单选按钮程序运行结果:
图4.6 如何添加单选按钮
20
单选按钮“按钮组”程序示例 :
21
单选按钮“按钮组”程序运行结果 :
图4.7 将单选按钮划分到按钮组
22
单选按钮“多按钮组”程序示例 :
将多个单选按钮组件,分别分成多个按钮组。
23
单选按钮“多按钮组”程序运行结果 :
12
表4.3 普通按钮的常用构造器
创建好按钮组件后,即可通过使用其内置的方法来操纵 这个组件。
13
表4.4 普通按钮的常用方法
14
普通按钮程序示例:
15
程序运行结果:
图4.4 普通按钮控件 说明:“普通按钮组件”的使用很简单,在实际开发中最关键的是对按 钮
组件进行“事件侦听”。(即:如何编写控件事件侦听)
JButton的层次结构:
10
什么Ab是sAtrbascttrBauctttBount是to一n类个抽象类,内部定义了许多“组件设
置方法”与“组件事件驱动方法(Event Handle)”。
如:addActionListener()、setText()等,所提供的方法
不少于50多种,是非常重要的一个类。
31
2
4.1 如何使用标签
使用标签组件之前,首先必须要创建“标签组件对象”, 然后才能通过使用这个这个“对象中内置的方法”来操作。
一般而言,组件均通过自身的“构造器”来创建。
3
表4.1 常用的Label构造器
4
表4.2 Label常用内置方法 通过构造器创建Label组件后,即可通过组件内置的方
法来操纵这个组件。
5
使用标签示例程序1---在顶层容器中添加两个标签组件
(使用标签对象初始化方法,为Label赋初始值)
6
程序运行结果:
图4.1 使用对象初始化的方式赋值
7
使用标签示例程序2---在顶层容器中添加两个标签组件
(内置setText()方法赋值)
8
程序运行结果:
图4.2 使用标签内置方法赋值
9
4.2 如何使用按钮