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

合集下载

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

JavaSwing界面设计(所有控件及示例)
JFrame用来创建application,最常用的 JApplet用来创建applet JDialog用来创建对话框,常用 JWindow不常用
中间容器
JPanel , JScrollPane , JSplitPane , JTabbedPane、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合在一起,然后放入中间容器或顶层容器的功能
要可能会用到容器的嵌套 将中间容器按照某种布局添加到顶层容器中,形成满
足用户需求的操作界面
获得JFrame的容器并添加组件
Container con = getContentPane(); JPanel pautt = new JButton("Press Me"); panel.add(butt); con.add(panel);
示例:学生信息管理系统
学生基本信息录入界面的设计
设计一个用户界面,用于输入学生的下列信息:
姓名 JTextField
密码 JPasswordField
性别 JRadioButton 党否 JCheckBox
年龄 JSpinner
颜色 JColorChooser
加分 JSlider
系别 JComboBox
Check Box Radio Button
Button
基本概述
AWT ➢AWT(Abstract Window Toolkit)是在Swing出现之前用来设计
界面的工具包 ➢ 用awt包中的类创建的用户界面在不同的操作平台上有不同的
表现。使用不灵活 ➢import java.awt.*;
Swing ➢Swing是对AWT的扩展,它是Java 2中的一个标准包 组件都以J开头,例如:JFrame、JButton等。swing界面在不同

JavaSwing组件大全实例演示

JavaSwing组件大全实例演示

JavaSwing组件⼤全实例演⽰⼀抛砖引⽟ 本⽂指在利⽤⼀个⼩”Swing 组件⼤全”来引导⼤家学习这门语⾔,熟悉Java Swing的各个组件。

并在学习过程中参考作者这⼀程序的⽅法和思想,最终形成⾃⼰的思维⽅式和学习⽅式。

你能举⼀返三是作者最开⼼的事情。

⼩程序演⽰了Java Swing⼤部分组件。

最后附上了全部代码及详细的注释说明。

希望本⽂能对⼤家学习Java有所帮助。

随着Java风潮席卷国内,学习Java的⽅法和路径越来越多。

⽽在⼤量的书本前,在Java庞⼤的类库前⼤⼤家都有点迷失⽅向的感觉,是学 J2EE,J2ME还是。

然⽽所有的这些都或多或少的离不开J2SE。

万丈⾼楼平地起。

J2SE是整个Java的基础,学好了这个对Java的各个⽅向都是很有利的。

⽽学习J2SE的最初点就在界⾯设计,因为界⾯编程是你来感觉最直接的⼿段,是提⾼⼤家编程兴趣的很好开始,因为你写完程序编译后可马上看到⾃⼰的成果。

⽽不像后台编程做完了都感受不到效果。

⽽好的界⾯也是你测试你其他程序的基础。

界⾯设计!不就是拖拉操作吗?如果是VB,VC等可视化的编程,的确只是⼀些拖拉操作,由于Java语⾔的设计中所有的东西都是程序代码,在 Java中如果想要设计⼀个好的界⾯,可不是简单的拖拉操作能完成的。

即使使⽤了如JBuilder这么强⼤的可视化⼯具,你也得亲⾃动⼿写⼀些界⾯设计代码才能很好的完成你的任务。

如果你能在此基础上理解Java界⾯设计的思想,对你学习这门语⾔将有莫⼤的帮助。

Java界⾯设计主要涉及Awt,Swing两⼤类库,Swing是Awt的扩展和功能加强。

下⾯我们就以Swing为基础来说说整个Java的界⾯设计。

⼆感受效果 在开始之前,让我们看看这篇⽂章要达到的效果,有了⽬标和成果才有学习的兴趣,起码我是这样认为和学习的。

如下图所⽰,这就是我们设计的界⾯,它包括了Swing中⼤部分常⽤的组件。

有些功能界⾯上反映不出来,⼤家可尝试编译源代码点南击各个部分,看看它们的响应事件。

Java17第十四章2-界面设计swing

Java17第十四章2-界面设计swing
安卓越科技北京有限公司33wwwanjoyocom安卓越科技北京有限公司34wwwanjoyocom安卓越科技北京有限公司35wwwanjoyocom安卓越科技北京有限公司36wwwanjoyocom安卓越科技北京有限公司37wwwanjoyocom安卓越科技北京有限公司38wwwanjoyocom安卓越科技北京有限公司39wwwanjoyocom安卓越科技北京有限公司40wwwanjoyocom安卓越科技北京有限公司41wwwanjoyocom安卓越科技北京有限公司42wwwanjoyocom安卓越科技北京有限公司43wwwanjoyocom安卓越科技北京有限公司44wwwanjoyocom安卓越科技北京有限公司45wwwanjoyocom安卓越科技北京有限公司46wwwanjoyocom2d图形的绘制安卓越科技北京有限公司47wwwanjoyocomimportjavaawtborderlayout
JPopupMenu:弹出式菜单组件
安卓越科技(北京)有限公司
18
import java.awt.Color; import javax.swing.*; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; public class PopupMenuTest { static JPopupMenu popup=null; public static void main(String[] args) { JFrame frame = new JFrame(); frame.setBounds(200,300,200, 300); frame.setTitle("我的第一个小板凳"); //设置不允许调整窗口的大小 frame.setResizable(false); frame.setBackground(Color.ORANGE); popup = new JPopupMenu(); popup.add("徐明华"); popup.add("张燕君"); popup.add("徐诗佳"); popup.add("王子昊"); popup.setName("右击菜单"); frame.add(popup);//在窗体上加右击菜单 frame.addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { if(e.getButton() == MouseEvent.BUTTON3){ popup.show(e.getComponent(), e.getX(), e.getY()); } } });//添加事件监听器 frame.setVisible(true);//显示窗体}}

第六章Swing用户界面组件

第六章Swing用户界面组件


课后练习
编写程序,自定义[文件 文件]和 编辑 两个菜单, 编辑]两个菜单 ● 编写程序,自定义 文件 和[编辑 两个菜单, [文件 下子菜单 新建 ,[打开 ,[保存 和[退出 ; 文件]下子菜单 新建], 打开 打开], 保存 保存]和 退出 退出]; 文件 下子菜单[新建 [编辑 下子菜单 剪切 ,[复制 和[粘贴 ; 编辑]下子菜单 剪切], 复制 复制]和 粘贴 粘贴]; 编辑 下子菜单[剪切 实现简单的文本文件的编写. 实现简单的文本文件的编写. (选作) 选作)
例:FlowLayoutTest.java ● GridLayout
● 将容器划分成若干行列的网格,每个网格 将容器划分成若干行列的网格,
大小相同,组件从左到右, 大小相同,组件从左到右,从上到下依次排 列 例:GridLayoutTest.java

对话框
● JOptionPane
● 图标取决于消息类型
● 如果需要滚动条,Area textArea=new TextArea(8,40); JScrollPane scrollPane=new JScrollPane(textArea); 例:TextAreaTest.java
● ● 菜单
菜单
● 组成:菜单栏(JMenuBar),菜单(JMenu),菜单项(JMenuItem) 组成:菜单栏(JMenuBar),菜单(JMenu),菜单项(JMenuItem) ● 使用方法: 使用方法:
第六章
Swing用户界面组件 Swing用户界面组件
● 常规按钮(JButton) 常规按钮(JButton) ● 选择组件(JCheckBox,JRadioButton,JComboBox) 选择组件(JCheckBox,JRadioButton,JComboBox) ● 文本输入(JTextField,JTextArea) 文本输入(JTextField,JTextArea) ● 菜单(JMenuBar,JMenu,JMenuItem) 菜单(JMenuBar,JMenu,JMenuItem) ● 对话框(JOptionPane,JFileChooser) 对话框(JOptionPane,JFileChooser)

java-Swing控件的用法和范例

java-Swing控件的用法和范例

java-Swing控件的用法和范例类JTableJTable用来显示和编辑规则的二维单元表。

JTable有很多用来自定义其呈现和编辑的设施,同时提供了这些功能的默认设置,从而可轻松地设置简单表。

例如,要设置一个10行10列的表:TableModel dataModel=new AbstractTableModel(){public int getColumnCount(){return10;}public int getRowCount(){return10;}public Object getValueAt(int row,int col){return new Integer(row*col);} };JTable table=new JTable(dataModel);JScrollPane scrollpane=new JScrollPane(table);注意,如果要在单独的视图中(在JScrollPane外)使用JTable并显示表标题,则可以使用getTableHeader()获取并单独显示它。

设计使用JTable的应用程序时,要严格注意用来表示表数据的数据结构。

DefaultTableModel 是一个模型实现,它使用一个Vector来存储所有单元格的值。

该Vector由包含多个Object 的Vector组成。

除了将数据从应用程序复制到DefaultTableModel中之外,还可以TableModel接口的方法来包装数据,这样可将数据直接传递到JTable,如以上示例所示。

这通常可以提高应用程序的效率,因为模型可以自由选择最适合数据的内部表示形式。

在决定使用AbstractTableModel还是使用DefaultTableModel方面有一个好的实践经验,即在创建子类时使用AbstractTableModel作为基类,在不需要创建子类时则使用DefaultTableModel。

Swing用户界面组件

Swing用户界面组件
textArea = new JTextArea(8, 40); 一行结尾为‘\n’(回车)符 如果文本区的文本超出显示范围,则其余的文本会被剪裁。
可以使用换行来避免行过长: textArea.setLineWrap(true);
在Swing中,文本区没有滚动条,需要手动安装: JScrollPane scrollPane = new JScrollPane(textArea)
第一个参数“Default input”:将文本域的缺省显示值为Default input 第二个参数20:列数,是指文本域显示的宽度为20列(并非可以输入的字符的个数)。
Java.swing.JTextField
JTextField(int cols) 构造一个指定列数的空JTextField
JTextField(String text, int cols) 构造一个指定列数,指定初始字符串的JTextField
void 色图Column是(int cols) 设置文本域使用的列数
文本区JTextArea组件可以让用户输入多行文本。在 TextArea组件中,可以指定文本区的行数和列数:
2.将标签组件放置在离标识的组件足够近的地方。
谢谢!

JScrollPane(Component c)
在组件c上添加滚动条,返回添加后的组件
标签组件(JLabel)
标签是容纳文本的组件。他们没有任何修饰(例如没有边界),也不影响应用户输入。
标签的常用用途之一就是标识组件,例如标识文本域。其使用步骤如下:
1.创建一个JLable组件 例: JLable label = new JLable(”hours“,SwingConstants.RIGHT); 或者 JLabel lable = new JLabel(”hours“,JLabel.RIGHT); 上面的代码创建了一个label,并指定label的对齐方式为右对齐。

java swing 代码例子

java swing 代码例子

java swing 代码例子Java Swing是Java语言中用于构建图形用户界面(GUI)的一个开发工具包。

它提供了一组丰富的组件和容器,可以用于创建各种界面元素,如按钮、文本框、标签等。

下面是一些使用Java Swing的代码示例。

1. 创建一个简单的窗口```javaimport javax.swing.JFrame;public class SimpleWindow {public static void main(String[] args) {JFrame frame = new JFrame("简单窗口");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个简单的窗口,并设置了窗口的标题、关闭操作、大小和可见性。

2. 添加按钮和事件监听器```javaimport javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;public class ButtonExample {public static void main(String[] args) {JFrame frame = new JFrame("按钮示例");frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JButton button = new JButton("点击我");button.addActionListener(e -> {JOptionPane.showMessageDialog(frame, "你点击了按钮");});frame.add(button);frame.setSize(400, 300);frame.setVisible(true);}}```这段代码创建了一个带有一个按钮的窗口,当按钮被点击时,会弹出一个对话框显示"你点击了按钮"。

Java_11 Swing图形界面设计

Java_11 Swing图形界面设计
⚫ 构建一个顶层容器;通常是JFrame或JApplet ⚫ 构建若干个组件,组件可以是其它容器; ⚫ 设定容器的布局管理器;用容器的add方法将这些组件加入到这个
容器中; ⚫ 设置组件事件;并将组件事件与代码关联。
17
第九章 Swing图形用户界面
◼ 9.1 概述 ◼ 9.2 容器组件 ◼ 9.3 基本组件 ◼ 9.4 布局管理器 ◼ 9.5 事件处理模型 ◼ 9.6 本章小结
JMenuItem
JMenu
JOptionPane
JPopupMenu JTextComponent JMenuBar
JTextArea JTextField
JPasswordField
JScrollPane
JLabel
JPanel
9
9.1 概述
◼ Swing的组件和容器层次
⚫ JComponent类是除了顶层容器以外所有Swing组件的基类,根据 继承关系,我们可以在每个基类中找到大多数GUI组件的常见操作
⚫ 定义了两种类型的组件: ➢ 顶层容器(JFrame,JApplet,JDialog和 JWindow)
➢ 轻量级组件(JComponent) ⚫ Swing组件都是AWT的Container类的直接子类和间接
子类。
⚫ Swing组件以"J"开头,除了有与AWT类似的按钮 (JButton)、标签(JLabel)、复选框(JCheckBox)、 菜单(JMenu)等基本组件外,还增加了一个丰富的高 层组件集合,如表格(JTable)、树(JTree)。
容器,别的组件都必须放在这个顶层容器上才能显现出 来。
12
9.1 概述-- Swing的组件和容器层次
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
示例:直接使用JFrame JFrame创建 示例:直接使用JFrame创建
import javax.swing.*; public class FirstJFrame { public static void main(String[] args) { JFrame f = new JFrame(); f.setTitle("My First JFrame"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE ); f.setSize(300, 300); f.setVisible(true); }}
顶层容器
JFrame , JApplet , JDialog , JWindow 作用:创建初始界面, 作用:创建初始界面,为其他组件提供 一个容器, 一个容器,以构建满足用户需求的操作界 面 JFrame用来创建application,最常用的 JFrame用来创建application, 用来创建application JApplet用来创建applet JApplet用来创建applet 用来创建 JDialog用来创建对话框, JDialog用来创建对话框,常用 用来创建对话框 JWindow不常用 JWindow不常用
12
基本组件
JLabel JButton、JCheckBox、 JButton、JCheckBox、JRadioButton JList、 JList、JComboBox JTextField、JPasswordField、 JTextField、JPasswordField、JTextArea JToolBar、JToolTip、 JToolBar、JToolTip、JProgressBar JSlider、 JSlider、JSpinner JFileChooser、 JFileChooser、JColorChooser JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、 JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem、 JRadioButtonMenuItem、 JRadioButtonMenuItem、JPopupMenu JTable JTree JOptionPane、 JOptionPane、JSeparator
Swing
Swing是对AWT的扩展,它是Java 2中的一个标准包 Swing是对AWT的扩展,它是Java 2中的一个标准包 是对AWT的扩展 组件都以 开头,例如:JFrame、JButton等 swing界 都以J 组件都以J开头,例如:JFrame、JButton等。swing界 面在不同的平台上外观完全一样, 面在不同的平台上外观完全一样,真正做到平台独立 import javax.swing.*;
11
中间容器
JPanel , JScrollPane , JSplitPane , JTabbedPane、JInternalFrame、 JTabbedPane、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合 在一起, 在一起,然后放入中间容器或顶层容器的功能 JPanel提供一个面板 JPanel提供一个面板 JScrollPane是具有滚动条的窗格 JScrollPane是具有滚动条的窗格 JSplitPane是具有拆分功能的窗格 JSplitPane是具有拆分功能的窗格 JTabbedPane是带有若干标签的分类窗格 JTabbedPane是带有若干标签的分类窗格 JInternalFrame用于创建内嵌于JFrame中的内 用于创建内嵌于JFrame JInternalFrame用于创建内嵌于JFrame中的内 部框架 Box提供创建横向 提供创建横向/ Box提供创建横向/纵向盒子容器的功能
容器
容器是用来容纳和管理一组界面元素的对象。 容器是用来容纳和管理一组界面元素的对象。 基本组件必须被安排在某个容器中,否则就无法使用。 基本组件必须被安排在某个容器中,否则就无法使用。
无边框容器 有边框容器 Container
JWindow
JPanel
JApplet JDialog JFrame
10
17
示例:扩展JFrame JFrame创建 示例:扩展JFrame创建
import javax.swing.*; public class SecondJFrame extends JFrame { public SecondJFrame() { super(“My JFrame”); super( My Second JFrame ); setDefaultCloseOperation(EXIT_ON_CLOSE); setExtendedState(MAXIMIZED_BOTH); setVisible(true); } public static void main(String[] args) { SecondJFrame f = new SecondJFrame(); }}
15
创建用户主窗口-创建用户主窗口--JFrame --JFrame
常用方法
void setExtendedState(int); //设置扩展的状态 取值: 设置扩展的状态, //设置扩展的状态,取值: NORMAL ICONIFIED MAXIMIZED_HORIZ MAXIMIZED_VERT //最大化 MAXIMIZED_BOTH //最大化 void setDefaultCloseOperation(int); //设置默认的关闭时的操作 取值: 设置默认的关闭时的操作, //设置默认的关闭时的操作,取值: DO_NOTHING_ON_CLOSE HIDE_ON_CLOSE DISPOSE_ON_CLOSE //关闭 EXIT_ON_CLOSE //关闭
13
创建用户主窗口-创建用户主窗口--JFrame --JFrame
java.awt.Frame的子类 类 JFrame 是java.awt.Frame的子类 并不全是由Java Java编写的 在Swing的组件中, JFrame 并不全是由Java编写的 Swing的组件中, 的组件中
是一种与平台关系比较密切的组件(Heavyweight 是一种与平台关系比较密切的组件(Heavyweight component)
19
界面的基本组织方式
由JFrame创建初始的用户界面 JFrame创建初始的用户界面 由JPanel、JScrollPane、JTabbedPane、JSplitPane JPanel、JScrollPane、JTabbedPane、 JInternalFrame、Box等创建中间容器 、JInternalFrame、Box等创建中间容器 由基本组件类创建有关的组件 将基本组件按照某种布局添加到中间容器中,根据需 将基本组件按照某种布局添加到中间容器中, 要可能会用到容器的嵌套 将中间容器按照某种布局添加到顶层容器中,形成满 将中间容器按照某种布局添加到顶层容器中, 足用户需求的操作界面
20
获得JFrame 获得JFrame的容器并添加组件 JFrame的容器并添加组件
Container con = getContentPane(); JPanel panel = new JPanel(); JButton(" Me" JButton butt = new JButton("Press Me"); panel.add(butt); con.add(panel);
3
用户界面概述
用户界面的类型
字符用户界面(CUI):例如,MS字符用户界面(CUI):例如,MS-DOS ):例如 图形用户界面(GUI):例如, 图形用户界面(GUI):例如,Microsoft Windows ):例如
GUI的组件 GUI的组件
基本的控制组件,例如:Button、Label等 基本的控制组件,例如:Button、Label等。 组件 容器:能容纳和排列组件的组件 容器:
界面设计
张蕾 zhanglei@
1
主要内容
概述 用户界面 组件介绍 布局管理 事件处理 菜单和表格
2
本章基本要求
了解AWT和 了解AWT和Swing AWT 熟悉4 熟悉4个顶层容器 掌握JFrame 掌握JFrame 熟悉常用的中间容器 会对组件进行布局 熟悉常用基本组件的创建和操作 会设置组件的颜色和字体 会处理组件上发生的事件 会创建菜单和表格
18
设置JFrame 设置JFrame的图标 JFrame的图标
相关类 a) 图标类:javax.swing.ImageIcon 图标类: b) 图像类:java.awt.Image 图像类: 创建图标和图像对象 a) ImageIcon ii = new ImageIcon(“x.gif”); ImageIcon(“x.gif”); ii.getImage(); b) Image image = ii.getImage(); 设置 setIconImage(image); setIconImage(image);
6
界面设计中常用组件类的体系结构
ng.Object
ponent
java.awt.Container
java.awt.Panel
java.awt.Window javax.swing.JComponent
Swing组件 java.applet.Appletjava.awt.Dialog java.awt.Frame Swing组件
ng.Object | +ponent | +--java.awt.Container | +--java.awt.Window | +--java.awt.Frame | +--javax.swing.JFrame
14
相关文档
最新文档