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。

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

JAVAswing-常用组件

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_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的组件和容器层次

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类是最简单的布局管理器。

SWING界面设计

SWING界面设计

JFrame
JPanel
JScrollPane
1. 扩展 java.awt.Frame 类 1. 中间容器 1.管理视区、滚动条及可选 2. 用于在 Swing 程序中创建窗 2. 用于将较小的轻量级组件组合 的行和列的标题视区 Dimension getSize() 口 在一起 3. 包含边框、标题和用于关闭和 3. void setTitle(String name) 与内容窗格相似,面板在默认 图标化窗口的按钮 情况下不透明
Swing 2-1
通过 Swing (轻量级组件,纯Java组件) Javax.swing 包
创建 GUI
容器 Swing 包 含 内 容
包含 Swing 组件 以图形表示的对象允许用户交互 可更换图形界面的风格
使用Java2D绘制图形
组件
可改变的外观
Java2D图形绘制
Swing 2-2
轻量级组件
常用控件
上一节中我们简单介绍了Swing的初步知识,下面我们详细介绍Swing中的组件。 Swing中的常用组件如下表所示:
组件类 JButton JLabel JTextField JTextArea JRadioButton JCheckbox JList JComboBox
名称 按钮 标签 文本域 文本区 单选框 复选框 列表框 选择框
void add(Component comp) JFrame(String title) Void setVerticalScrollBarPolicy(int const) void setLayout(LayoutManager layout)
void setHorizontalScrollBarPolicy(int const) void pack()

java程序设计swing用户界面

java程序设计swing用户界面

• • • • • • • • •
1.文本域 构造方法 JTextField()--文本域的长度为一个字符 JTextField(int x)--文本域的长度为X个字 符 JTextField(String s)--文本域的初始字符 串为S JTextField(String s,int x)--文本域的初始 字符串为S,长度为X个字符
处理超长文本 • textArea.setLineWrap(true);
• • 例:TextAreaTest
• • • • • • • •
3.标签和标签组 标签是容纳文本的组件 常用来标识别的组件 构造方法: JLabel(String text) JLabel(Icon icon) JLabel(String text,int align) JLabel(String text,Icon,icon,int align)
• CardLayout • CardLayout的容器可以容纳多个组件, 但是实际上同一时刻容器只能从这些组 件中选出一个来显示,就象一叠“扑克
2.解决方法: 创建一个面板,先将组件添加到面板上, 再将面板添加到更大的容器里.代码如下:
• 符号表示 • BorderLayout常量被定义为字符串 • 例:BorderLayout.SOUTH被定义为字符 串:South • 上例应用时可写为: • add(button1,“North”); • add(button2,“South”);
• GridLayout • 把容器划分成若干行乘若干列的网格区 域,组件就位于这些划分出来的小格中 • 可用方法setLayout来设置网格布局 • setLayout(new GridLayout(行数、列数)) • setLayout(new GridLayout(3,4));

java Swing 用户界面组件

java Swing 用户界面组件

第9章 Swing 用户界面组件
9.2 布局管理概述
n
9/50
边界布局(BorderLayout)
n
边界布局将容器划分为五个区域
n
上(北)、下(南)、左(西)、右(东)、中央
n n n n
JFrame容器的默认布局为边界布局 West和East区的宽度不变 North和South区的高度不变 Center区自动填充其他区域
n
n
n
按钮属性
n
text、icon、mnemonic(快捷键) horizontalAlignment、verticalAlignment horizontalTextPosition、verticalTextPosition
n
n
第9章 Swing 用户界面组件
9.4 简单组件
n
20/50
按钮(JButton)
9.2 布局管理概述
n
14/50
构造网格布局管理器
n
public GridLayout(int rows,int columns)
n
根据指定的行数和列数构造一个GirdLayout对象
n
public GridLayout(int rows, int columns, int hGap, int vGap)
2/50
第9章 Swing 用户界面组件
第9章 Swing 用户界面组件
&本章重点 n 9.2 布局管理概述 n 9.4 简单组件 n 9.5 文本输入 &本章难点 n 9.7 菜单 n 9.8 对话框
3/50
第9章 Swing 用户界面组件
9.1 用户界面组件简介
n

java图形用户界面设计Swing常用组件(阅读)

java图形用户界面设计Swing常用组件(阅读)
setLayout(new GridLayout(6,6,2,2)); // 1.4中问题 1
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图形用户界面

java swing图形用户界面

java swing图形用户界面实例1:(文本区,菜单)import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrame1 extends JFrame{JTextArea area;JMenuBar bar;JMenu menu;JMenuItem itemCopy,itemCut,itemPaste;menuListen listen =new menuListen();MyFrame1(){init();setBounds(100,100,400,400);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void init(){setLayout(new FlowLayout());area=new JTextArea(5,20);add(area);bar=new JMenuBar();setJMenuBar(bar);menu=new JMenu("编辑");bar.add(menu);itemCopy=new JMenuItem("复制");itemCut=new JMenuItem("剪切");itemPaste=new JMenuItem("粘贴");menu.add(itemCopy);menu.add(itemCut);menu.add(itemPaste);itemCopy.addActionListener(listen);itemCut.addActionListener(listen);itemPaste.addActionListener(listen);listen.setItem(itemCopy, itemCut, itemPaste, area);}public static void main(String[] args) {MyFrame1 win=new MyFrame1();}}class menuListen implements ActionListener{JMenuItem itemCopy,itemCut,itemPaste;JTextArea area;public void setItem(JMenuItem itemCopy,JMenuItem itemCut,JMenuItem itemPaste,JTextArea area){this.itemCopy=itemCopy;this.itemCut=itemCut;this.itemPaste=itemPaste;this.area=area;}public void actionPerformed(ActionEvent e){ if(e.getSource()==itemCopy){area.copy();}else if(e.getSource()==itemCut){area.cut();}else if(e.getSource()==itemPaste){area.paste();}}}实例2:(单选按钮,标签,按钮)import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrame2 extends JFrame{JTextArea area;JMenuBar bar;JMenu menu;JMenuItem itemCopy,itemCut,itemPaste;menuListen1 listen =new menuListen1();buttonListen lis=new buttonListen();JRadioButton r1,r2;JButton button;MyFrame2(){init();setBounds(100,100,400,400);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void init(){setLayout(new FlowLayout());area=new JTextArea(5,20);add(area);bar=new JMenuBar();setJMenuBar(bar);menu=new JMenu("编辑");bar.add(menu);itemCopy=new JMenuItem("复制");itemCut=new JMenuItem("剪切");itemPaste=new JMenuItem("粘贴");menu.add(itemCopy);menu.add(itemCut);menu.add(itemPaste);itemCopy.addActionListener(listen);itemCut.addActionListener(listen);itemPaste.addActionListener(listen);listen.setItem(itemCopy, itemCut, itemPaste, area);add(new Label("班级:"));r1=new JRadioButton("信息管理1班",true);r2=new JRadioButton("信息管理2班");ButtonGroup group=new ButtonGroup();group.add(r1);group.add(r2);add(r1);add(r2);button=new JButton("确定");add(button);button.addActionListener(lis);lis.setArea(area,r1,r2);}public static void main(String[] args) {MyFrame2 win=new MyFrame2();}}class menuListen1 implements ActionListener{JMenuItem itemCopy,itemCut,itemPaste;JTextArea area;public void setItem(JMenuItem itemCopy,JMenuItem itemCut,JMenuItem itemPaste,JTextArea area){this.itemCopy=itemCopy;this.itemCut=itemCut;this.itemPaste=itemPaste;this.area=area;}public void actionPerformed(ActionEvent e){if(e.getSource()==itemCopy){area.copy();}else if(e.getSource()==itemCut){area.cut();}else if(e.getSource()==itemPaste){area.paste();}}}class buttonListen implements ActionListener{ JTextArea area;JRadioButton r1,r2;public void setArea(JTextArea area,JRadioButton r1,JRadioButton r2){this.area=area;this.r1=r1;this.r2=r2;}public void actionPerformed(ActionEvent e){ if(r1.isSelected()){area.setText("班级是:"+r1.getText());}if(r2.isSelected()){area.setText("班级是:"+r2.getText());}}}实例3:(选择框)import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrame3 extends JFrame{JTextArea area;JMenuBar bar;JMenu menu;JMenuItem itemCopy,itemCut,itemPaste;menuListen2 listen =new menuListen2();buttonListen1 lis=new buttonListen1();JRadioButton r1,r2;JButton button;JCheckBox box1,box2,box3,box4;MyFrame3(){init();setBounds(100,100,400,400);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void init(){setLayout(new FlowLayout());area=new JTextArea(5,20);add(area);bar=new JMenuBar();setJMenuBar(bar);menu=new JMenu("编辑");bar.add(menu);itemCopy=new JMenuItem("复制");itemCut=new JMenuItem("剪切");itemPaste=new JMenuItem("粘贴");menu.add(itemCopy);menu.add(itemCut);menu.add(itemPaste);itemCopy.addActionListener(listen);itemCut.addActionListener(listen);itemPaste.addActionListener(listen);listen.setItem(itemCopy, itemCut, itemPaste, area);add(new Label("班级:"));r1=new JRadioButton("信息管理1班",true);r2=new JRadioButton("信息管理2班");ButtonGroup group=new ButtonGroup();group.add(r1);group.add(r2);add(r1);add(r2);add(new Label("爱好:"));box1=new JCheckBox("唱歌");box2=new JCheckBox("跳舞");box3=new JCheckBox("玩游戏");box4=new JCheckBox("看书");add(box1);add(box2);add(box3);add(box4);button=new JButton("确定");add(button);button.addActionListener(lis);}public static void main(String[] args) {MyFrame3 win=new MyFrame3();}class buttonListen1 implements ActionListener{ public void actionPerformed(ActionEvent e){if(r1.isSelected()){area.setText("班级是:"+r1.getText());}if(r2.isSelected()){area.setText("班级是:"+r2.getText());}area.append("\n爱好:");if(box1.isSelected())area.append(box1.getText());if(box2.isSelected())area.append(box2.getText());if(box3.isSelected())area.append(box3.getText());if(box4.isSelected())area.append(box4.getText());}}}class menuListen2 implements ActionListener{ JMenuItem itemCopy,itemCut,itemPaste;JTextArea area;public void setItem(JMenuItem itemCopy,JMenuItem itemCut,JMenuItem itemPaste,JTextArea area){ this.itemCopy=itemCopy;this.itemCut=itemCut;this.itemPaste=itemPaste;this.area=area;}public void actionPerformed(ActionEvent e){ if(e.getSource()==itemCopy){area.copy();}else if(e.getSource()==itemCut){area.cut();}else if(e.getSource()==itemPaste){area.paste();}}}实例4:布局import javax.swing.*;import java.awt.*;import static java.awt.BorderLayout.*;public class MyFrame4JButton a,b,c,d,e;public MyFrame4(){init();setBounds(100,100,400,400);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void init(){/* setLayout(new BorderLayout());a=new JButton("aaaaa");b=new JButton("bbbbb");c=new JButton("ccccc");d=new JButton("ddddd");e=new JButton("eeeee");add(a,"East");add(b,"West");add(c,"North");add(d,"South");add(e,"Center");*//* setLayout(new FlowLayout());a=new JButton("aaaaa");b=new JButton("bbbbb");c=new JButton("ccccc");d=new JButton("ddddd");e=new JButton("eeeee");add(a);add(b);add(c);add(d);add(e);*//* setLayout(new GridLayout(3,2));a=new JButton("aaaaa");b=new JButton("bbbbb");c=new JButton("ccccc");d=new JButton("ddddd");e=new JButton("eeeee");add(a);add(b);add(c);add(d);add(e);*/JPanel panel=new JPanel(new GridLayout(2,1));a=new JButton("aaaaa");b=new JButton("bbbbb");c=new JButton("ccccc");d=new JButton("ddddd");e=new JButton("eeeee");add(panel);panel.add(a);JPanel p1=new JPanel(new GridLayout(1,2));panel.add(p1);p1.add(b);JPanel p2=new JPanel(new GridLayout(3,1));p1.add(p2);p2.add(c);p2.add(d);p2.add(e);}public static void main(String[] args) {MyFrame4 win=new MyFrame4();}}实例5:布局import javax.swing.*;import java.awt.*;import java.awt.event.*;public class MyFrame5 extends JFrame{JTextArea area;JMenuBar bar;JMenu menu;JMenuItem itemCopy,itemCut,itemPaste;menuListen3 listen =new menuListen3();buttonListen1 lis=new buttonListen1();JRadioButton r1,r2;JButton button;JCheckBox box1,box2,box3,box4;MyFrame5(){init();setBounds(100,100,400,400);setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void init(){JPanel panel=new JPanel(new GridLayout(2,1));add(panel);area=new JTextArea(5,20);panel.add(area);bar=new JMenuBar();setJMenuBar(bar);menu=new JMenu("编辑");bar.add(menu);itemCopy=new JMenuItem("复制");itemCut=new JMenuItem("剪切");itemPaste=new JMenuItem("粘贴");menu.add(itemCopy);menu.add(itemCut);menu.add(itemPaste);itemCopy.addActionListener(listen);itemCut.addActionListener(listen);itemPaste.addActionListener(listen);listen.setItem(itemCopy, itemCut, itemPaste, area);JPanel pan=new JPanel(new GridLayout(3,1));panel.add(pan);JPanel p1=new JPanel(new GridLayout(1,3));pan.add(p1);p1.add(new Label("班级:"));r1=new JRadioButton("信息管理1班",true);r2=new JRadioButton("信息管理2班");ButtonGroup group=new ButtonGroup();group.add(r1);group.add(r2);p1.add(r1);p1.add(r2);JPanel p2=new JPanel(new GridLayout(1,5));pan.add(p2);box1=new JCheckBox("唱歌");box2=new JCheckBox("跳舞");box3=new JCheckBox("玩游戏");box4=new JCheckBox("看书");p2.add(new Label("爱好:"));p2.add(box1);p2.add(box2);p2.add(box3);p2.add(box4);button=new JButton("确定");button.addActionListener(lis);JPanel p3=new JPanel(new FlowLayout());p3.add(button);pan.add(p3);}public static void main(String[] args) {MyFrame5 win=new MyFrame5();}class buttonListen1 implements ActionListener{ public void actionPerformed(ActionEvent e){if(r1.isSelected()){area.setText("班级是:"+r1.getText());}if(r2.isSelected()){area.setText("班级是:"+r2.getText());}area.append("\n爱好:");if(box1.isSelected())area.append(box1.getText());if(box2.isSelected())area.append(box2.getText());if(box3.isSelected())area.append(box3.getText());if(box4.isSelected())area.append(box4.getText());}}}class menuListen3 implements ActionListener{ JMenuItem itemCopy,itemCut,itemPaste;JTextArea area;public void setItem(JMenuItem itemCopy,JMenuItem itemCut,JMenuItem itemPaste,JTextArea area){ this.itemCopy=itemCopy;this.itemCut=itemCut;this.itemPaste=itemPaste;this.area=area;}public void actionPerformed(ActionEvent e){ if(e.getSource()==itemCopy){area.copy();}else if(e.getSource()==itemCut){area.cut();}else if(e.getSource()==itemPaste){area.paste();}}}。

跟我学Java GUI Swing组件技术及应用实例——Swing基本组件编程技术及应用实例

跟我学Java GUI Swing组件技术及应用实例——Swing基本组件编程技术及应用实例

2、JCheckBox与JRadioButton的编程及应用 (1)它们在创建方式上的差别 JRadioButton应该放入一个组对象中以形成互斥效果。
(2)事件响应 在事件编程上都是监听 ItemListener接口, 从而可以识别是否被 按下或者弹取。
(3)事件响应的代码示例
3、图像图标 ImageIcon (1)图像图标——可以为按钮和标签提供图标,在Swing中 采用ImageIcon类实现。
(4)创建特定边框的代码示例 首先利用BorderFactory类中的static方法创建出某 一种类型的边框。 然后再调用组件的setBorder( )方法设置为该边框
5、各种编辑框组件 (1)JTextField 、JPasswordField(为JTextField的子 类,可以通过setEchoChar(char)来设置隐藏的字符)与 JTextArea 对于JTextArea组件可以调用它的setLineWrap()方法 能够让文字自动换行。 (2)JLabel标签组件可以包含文字或图像。 (3)JScrollBar滚动条组件
(4)JEditorPane带格式的可编辑的文字框组件 它支持三种不同文件格式内容,纯文本(text/plain)、 RTF格式(text/rtf)、HTML格式(text/html),从而 可以利用它来制作HTML格式的在线帮助。 (5)JTextPane 它为JEditorPane的子类,JTextPane能够提供更多的编 辑功能,如增加文字的颜色、插入图片、字体缩放、文字 风格等更多的排版功能——最终实现Window系统中的“写 字板”的功能。 6、JComboBox组合 框 (1)JComboBox组 合框与下拉列表 框的不同点 调用setEditable(true)方法来设置其可编辑状态,则 为组合框,否则为下拉列表框。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

21
示例:学生信息管理系统
学生基本信息录入界面的设计
设计一个用户界面,用于输入学生的下列信息: 姓名 JTextField 密码 JPasswordField 性别 JRadioButton 党否 JCheckBox 年龄 JSpinner 颜色 JColorChooser 加分 JSlider 系别 JComboBox 选课 JList 确认 JButton 保存 JFileChooser 结果 JTextArea 要求输入完毕按“确认”将该学生的信息记录到“结果”中;按 “保存”将结果保存到一个指定的文件中;基本信息与结果界面 上下分布在一个JSplitPane中;屏幕下方显示当前时间
26
基本组件—按钮
按钮是常用的功能组件,表示按钮的类为JButton。
构造方法 JButton button1 = new JButton(“姓名”); ImageIcon ii = new ImageIcon(“java.gif”); JButton button2 = new JButton(ii); JButton button3 = new JButton(“姓名”,ii);
20
获得JFrame的容器并添加组件
Container con = getContentPane();
JPanel panel = new JPanel();
JButton butt = new JButton("Press Me"); panel.add(butt); con.add(panel);


Swing
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
18
设置JFrame的图标
相关类
a)
图标类:javax.swing.ImageIcon
b) 图像类:java.awt.Image 创建图标和图像对象 a) ImageIcon ii = new ImageIcon(“x.gif”); b) Image image = ii.getImage(); 设置 setIconImage(image);
12
基本组件
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
3
用户界面概述
用户界面的类型
字符用户界面(CUI):例如,MS-DOS 图形用户界面(GUI):例如,Microsoft Windows
GUI的组件
组件 基本的控制组件,例如:Button、Label等。
容器:能容纳和排列组件的组件
组件继承它的父容器的性质
4
Menu Text Box
Label
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 //关闭
界面设计
张蕾 zhanglei@
1
主要内容


概述
用户界面


组件介绍
布局管理


事件处理
菜单和表格
2
本章基本要求


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


熟悉常用基本组件的创建和操作
会设置组件的颜色和字体 会处理组件上发生的事件 会创建菜单和表格
11
中间容器
JPanel , JScrollPane , JSplitPane , JTabbedPane 、JInternalFrame、Box 这些容器提供将有关组件按照某种布局组合在 一起,然后放入中间容器或顶层容器的功能 JPanel提供一个面板 JScrollPane是具有滚动条的窗格 JSplitPane是具有拆分功能的窗格 JTabbedPane是带有若干标签的分类窗格 JInternalFrame用于创建内嵌于JFrame中的内 部框架 Box提供创建横向/纵向盒子容器的功能
17
示例:扩展JFrame创建
import javax.swing.*; public class SecondJFrame extends JFrame { public SecondJFrame() { super(“My Second JFrame”); setDefaultCloseOperation(EXIT_ON_CLOSE); setExtendedState(MAXIMIZED_BOTH); setVisible(true); } public static void main(String[] args) { SecondJFrame f = new SecondJFrame(); }}
Swing组件
JApplet
JDialog
JWindow
JFrame
7
用户界面
8
Java程序界面的构成
一个顶层容器(即主窗口)


顶层容器包含若干个中间容器
每个中间容器包含若干个基本组件 按照合理的布局方式将它们组织在一起 基本组件可响应发生在其上的事件
9
顶层容器
容器
容器是用来容纳和管理一组界面元素的对象。基本 组件必须被安排在某个容器中,否则就无法使用。
16
示例:直接使用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); }}
19
界面的基本组织方式
由JFrame创建初始的用户界面 由JPanel、JScrollPane、JTabbedPane、JSplitPane、 JInternalFrame、Box等创建中间容器 由基本组件类创建有关的组件 将基本组件按照某种布局添加到中间容器中,根据需 要可能会用到容器的嵌套 将中间容器按照某种布局添加到顶层容器中,形成满 足用户需求的操作界面
22
示例:学生信息管理系统
步骤一:由JFrame创建初始的用户界面,获得JFrame的容器,
添加中间容器JPanel JFrame f=new JFrame(); f.setTitle("学生信息管理系统"); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setExtendedState(MAXIMIZED_BOTH); //f.setSize(800,600); //f.setLocation(200,200); Container con=f.getContentPane(); JPanel pan=new JPanel(); con.add(pan); f.setVisible(true);
13
创建用户主窗口--JFrame



类 JFrame 是java.awt.Frame的子类
在Swing的组件中, JFrame 并不全是由Java编写的
是一种与平台关系比较密切的组件(Heavyweight component)
ng.Object | +ponent | +--java.awt.Container | +--java.awt.Window | +--java.awt.Frame | +--javax.swing.JFrame
Combo Box List Box
Frame Window
Check Box Radio Button
Button
5
基本概述


AWT
AWT(Abstract Window Toolkit)是在Swing出现之前 用来设计界面的工具包 用awt包中的类创建的用户界面在不同的操作平台上有 不同的表现。使用不灵活 import java.awt.*;
相关文档
最新文档