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

合集下载

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中⼤部分常⽤的组件。

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

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("学生信息管理系统");

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。

Java程序设计第11章 Swing程序设计

Java程序设计第11章  Swing程序设计
Java实用教程
第11章 Swing程序设计
第11章 Swing程序设计
11.1 11.2 11.3 11.4 11.5 11.6 Swing概述 创建窗体 常用布局管理器 常用面板 常用组件 常用事件处理
11.2 创 建 窗 体
在开发Java应用程序时,通常情况下利用JFrame 类创建窗体。利用JFrame类创建的窗体分别包含标题、 最小化按钮、最大化按钮和关闭按钮。 JFrame类提供了一系列用来设置窗体的方法,例 如通过的setTitle(String title)方法,可以设置窗体的标题; 通过setBounds(int x, int y, int width, int height)方法可以 设置窗体的显示位置及大小,该方法接受4个int型参数, 前两个参数用来设置窗体的显示位置,依次为窗体左上 角的点在显示器中的水平和垂直坐标,后两个参数用来 设置窗体的大小,依次为窗体的宽度和高度。
【例6】
11.4.1 JScrollPane面板
JScrollPane类实现了一个带有滚动条的面板,用 来为某些组件添加滚动条,例如在学习JList和 JTextArea组件时均用到了该组件,JScrollPane类提供 的常用方法如下表所示。
方 法 功 能
setViewportView(Component view)
静态常量 TOP 常 量 值 1 标签内容显示位置 文字显示在图片的上方
CENTER BOTTOM
0 3
文字与图片在垂直方向重叠显示 文字显示在图片的下方
【例8】
JButton(按钮)组件
JButton组件是最简单的按钮组件,只是在按下和释放 两个状态之间进行切换,可以通过捕获按下并释放的动作执 行一些操作,从而完成和用户的交互。JButton类提供了一 系列用来设置按钮的方法,例如通过setText(String text)方 法设置按钮的标签文本,通过下面的代码就可以创建一个最 简单按钮:

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);}}```这段代码创建了一个带有一个按钮的窗口,当按钮被点击时,会弹出一个对话框显示"你点击了按钮"。

图形用户界面设计——Swing

图形用户界面设计——Swing

Swing目录Swing (1)1.组件 (2)1.1容器组件 (2)Jframe常用方法: (2)Jpanel常用方法: (3)1.2视图组件(操作组件) (3)Jlabel(标签) (3)JTextField(单行文本) (3)JPasswordField(单行密码文本) (4)JButton(按钮) (4)2.基本组件 (4)JmenuBar (菜单栏类) (4)Jmenu (菜单类) (4)JmenuItem (菜单项类) (5)JtoolBar(工具栏) (5)JTextArea (纯文本的多行区域) (5)JRadioButton (单选按钮) (5)JCheckBox (复选框) (5)JcomboBox(下拉框) (5)3.高级组件 (6)Jlist (列表) (6)JPopupMenu, 右键菜单 (6)JFileChooser 文件选择框 (6)JSplitPane 拆分组件区域 (6)JTabbedPane 选项卡 (6)JDesktopPane 文档桌面 (7)JTree 树 (7)JTable 表格 (7)4.布局 (7)BorderLayout类(边框布局)→为窗体的默认布局 (7)BorderLayout的常用方法 (8)FlowLayout 类 (流布局或线性布局)→为面板的默认布局 (8)FlowLayout的常用方法 (8)GridLayout类(网格布局) (8)GridBagLayout(网格带布局) (8)类布置的组件的约束 (9)5.事件类 (9)ActionEvent(单击事件) (10)ComponentEvent(组件调整事件) (10)ContainerEvent(添加删除组件事件) (10)FocusEvent(焦点事件) (10)ItenEvent(复选框或列表项事件) (10)KeyEvent(键盘输入事件) (10)MouseEvent(鼠标事件) (11)TextEvent(文本域事件) (11)WindowEvent(窗体事件) (11)6.事件监听器 (11)MouseListener(鼠标事件侦听器接口) (11)MouseAdapter(鼠标事件的抽象适配器类) (11)WindowListener(窗口事件的侦听器接口) (11)WindowAdapter(窗口事件的抽象适配器类) (11)7.标准对话框 (11)JoptionPane(弹出对话框) (11)导包:javax.swing.*;swing:基于awt的扩展,获取系统资源库组件后会自动对其进行重新绘制。

Java程序设计:第八章 Swing图形界面程序设计

Java程序设计:第八章 Swing图形界面程序设计

原型 public FlowLayout(int align )
描述
FlowLayerout布局时,组件在容器以从左到右,从 上到下的方式排列。 align用于指定行对齐方式, FlowLayout.LEFT表示左 对齐,相应的有右对齐和居中对齐。
java.awt.Container的成员JLabel(2)
JFrame的成员方法
原型
public JFrame( ) public JFrame(String title) public void setDefaultCloseOperation( int operation) public void setSize(int width, int height) public void setVisible(boolean b) public Container getContentPane()
描述 构造一个无标题不可见的框架 构造一个标题为title的框架 设置当关闭框架时的操作,例如operation为 JFrame.EXIT_ON_CLOSE时表示退出程序
设置框架的大小
设置框架是否可见 返回当前框架的内容窗格
7
组件和容器 -JFrame和JLabel(3)
FlowLayout布局的成员方法:
4
组件和容器(3)
一般容器包括: 面板JPanel,滚动窗格JScrollPane,选项卡 窗格JTabbedPane和工具栏JToolBar。
专用容器包括:内部框架(JInternalFrame),分层窗格 (JLayedPane)、根窗格(JRootPane)、玻璃窗格(GlassPane )、内 容窗格(ContentPane)。
描述 构造一个父窗口为owner,标题为title,模式为 modal的对话框。Modal为true表示有模式,为false 表示无模式 设置对话框的大小

Java swing布局详解(附示例图)

Java swing布局详解(附示例图)

当选择使用JPanel和顶层容器的content pane时,需要考虑布局管理。

JPanel缺省是初始化一个FlowLayout,而content pane缺省是初始化一个BorderLayout。

下面将分别介绍几种最常用的布局管理器:FlowLayout、BorderLayout、BoxLayout、CardLayout、GridLayout和GridBagLayout。

代码演示每一个布局管理器都会有一个代码演示,xxxLayoutDemo.java(见附件)。

这些文件主要有三个方法组成:addComponentsToPane()提供布局逻辑(依据不同的布局管理器和UI内容)。

Java代码1public static void addComponentsToPane(Container pane) {。

}2/**3*createAndShowGUI()实例化一个JFrame,通过它的ContentPane加载布局逻辑内容。

4*/5private static void createAndShowGUI() {6// Create and set up the window.7JFrame frame = new JFrame("FlowLayoutDemo");8frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);9// Set up the content pane.10addComponentsToPane(frame.getContentPane());11// Display the window.12frame.pack();13frame.setVisible(true);14}15//main()程序入口,单独起一个线程,实例化UI。

16public static void main(String[] args) {17javax.swing.SwingUtilities.invokeLater(new Runnable() {18public void run() {19createAndShowGUI();20}21});22}FlowLayoutFlowLayout类是最简单的布局管理器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 2. 3. 4. JFrame用来创建application,最常用的 JApplet用来创建applet JDialog用来创建对话框,常用 JWindow不常用
11
中间容器
1. JPanel , JScrollPane , JSplitPane , JTabbedPane 、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合在 一起,然后放入中间容器或顶层容器的功能 JPanel提供一个面板 JScrollPane是具有滚动条的窗格 JSplitPane是具有拆分功能的窗格 JTabbedPane是带有若干标签的分类窗格 JInternalFrame用于创建内嵌于JFrame中的内 部框架 Box提供创建横向/纵向盒子容器的功能
界面设计
张蕾 zhanglei@
1
主要内容
一.概述
二.用户界面
三.组件介绍
四.布局管理
五.事件处理
六.菜单和表格
2
本章基本要求


了解AWT和Swing
熟悉4个顶层容器 掌握JFrame 熟悉常用的中间容器 会对组件进行布局


熟悉常用基本组件的创建和操作
二.Swing
1. 2. 3. Swing是对AWT的扩展,它是Java 2中的一个标准包 组件都以J开头,例如:JFrame、JButton等。swing界 面在不同的平台上外观完全一样,真正做到平台独立 import javax.swing.*;
6
界面设计中常用组件类的体系结构
ng.Object ponent java.awt.Container java.awt.Panel java.applet.Applet java.awt.Window java.awt.Dialog javax.swing.JComponent java.awt.Frame
Swing组件
JApplet
JDialog
JWindow
JFrame
7
用户界面
8
Java程序界面的构成
1. 3. 4. 5.
顶层容器包含若干个中间容器
每个中间容器包含若干个基本组件 按照合理的布局方式将它们组织在一起 基本组件可响应发生在其上的事件
9
顶层容器
一.容器
13
创建用户主窗口--JFrame
一.类 JFrame 是java.awt.Frame的子类
二.在Swing的组件中, JFrame 并不全是由Java编写的
1. 是一种与平台关系比较密切的组件(Heavyweight component)
ng.Object | +ponent | +--java.awt.Container | +--java.awt.Window | +--java.awt.Frame | +--javax.swing.JFrame
组件继承它的父容器的性质
4
Menu Text Box
Label
Combo Box List Box
Frame Window
Check Box Radio Button
Button
5
基本概述
一.AWT
1. 2. 3. AWT(Abstract Window Toolkit)是在Swing出现之前 用来设计界面的工具包 用awt包中的类创建的用户界面在不同的操作平台上有 不同的表现。使用不灵活 import java.awt.*;
12
1. 2. 3. 4. 5. 6.
基本组件
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. JLabel JButton、JCheckBox、JRadioButton JList、JComboBox JTextField、JPasswordField、JTextArea JToolBar、JToolTip、JProgressBar JSlider、JSpinner JFileChooser、JColorChooser JMenuBar、JMenu、JMenuItem、JCheckBoxMenuItem 、JRadioButtonMenuItem、JPopupMenu JTable JTree JOptionPane、JSeparator
14
创建用户主窗口--JFrame
1. 构造方法
JFrame() 创建无标题窗口。 JFrame(String s) 创建标题名字是字符串s的窗口。
例如:JFrame f = new JFrame(“Hello”);
2.
常用方法
setTitle(String title) 设置JFrame标题文本 get/ setSize():获取/设置JFrame的大小。 add(Object a):将组件添加到JFrame中。 dispose()关闭JFrame并回收用于创建窗口的任何资源。 setVisible(boolean b)设置JFrame的可见性。 setLocation(x,y) 设置JFrame在屏幕的位置
15
创建用户主窗口--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 //关闭
会设置组件的颜色和字体 会处理组件上发生的事件 会创建菜单和表格
3
用户界面概述
一.用户界面的类型
字符用户界面(CUI):例如,MS-DOS 图形用户界面(GUI):例如,Microsoft Windows
二.GUI的组件
组件 基本的控制组件,例如:Button、Label等。
容器:能容纳和排列组件的组件
容器是用来容纳和管理一组界面元素的对象。基本 组件必须被安排在某个容器中,否则就无法使用。
有边框容器 无边框容器
Container
JWindow
JPanel
JDialog
JFrame
JApplet
10
顶层容器
1. JFrame , JApplet , JDialog , JWindow
作用:创建初始界面,为其他组件提供一 个容器,以构建满足用户需求的操作界面
相关文档
最新文档