JAVA Swing教学PPT

合集下载

java基于Swing的图形界面PPT课件

java基于Swing的图形界面PPT课件

2.JFrame(String s) 该构造方法可以创建一个标题为s的窗口。
3.public void setBounds(int a,int b,int width,int height) 窗口调用该方 法可以设置出现在屏幕上时的初始位置是(a,b),即距屏幕左面a个像素、距屏幕 上方b个像素;窗口的宽是width,高是height。
含有一个称为内容面板的容器,应当把组件添加到内容面板中,调用 getContentPane()获得该面板容器 3.Jframe的内部结构可以理解为:
JMnuBar
ContentPane JFame窗体的基本结构
5
JFrame的常用方法
授课:XXX 2021/3/9
1.JFrame() 该构造方法可以创建一个无标题的窗口。
public void setJMenuBar(JMenuBar menubar); 需要注意的是,只能向窗口添加一个菜单条。 (2)JMenu 菜单 (3) JMenuItem 菜单项
7
10.3 菜单组件
授课:XXX 2021/3/9
JMenu类的主要方法有以下几种:
1.JMenu(String s) 建立一个指定标题菜单,标题由参数 s确定。
JComponent
Component Container
Window
Frame
DialogΒιβλιοθήκη JFrameJDialog
JComponent类的部分子类以及JFrame类和JDialog类
3
容器的概念
授课:XXX 2021/3/9
Java把由Container的子类或间接子类创建的对象称为一个 容器。
JAVA图形用户界面库分为: 1.AWT(java.awt).跨平台的, 功能完善的,基于桥梁模式的架构(同位体);

javaSWING讲解PPT课件

javaSWING讲解PPT课件
• 东(EAST) • 西(WEST) • 南(SOUTH) • 北(NORTH) • 中(CENTER)五个区域,组件只能被添加到指定的区域 • 如不指定组件的加入部位,则默认加入到CENTER区。 • 每个区域只能加入一个组件,如加入多个,则先前加入的会被覆盖。
第19页/共40页
BorderLayout布局管理器 • BorderLayout型布局容器尺寸缩放原则:
说明
将项添加至项的列表
返回指定索引位置的列表项
返回列表(作为对象)中的项数 将当前选择的项作为一个对象返回
返回当前选择项的索引位置
第15页/共40页
布局管理器
• 用户界面上的GUI组件可以按照一定的格式布局 例如水平排列,或按网格方式排列
• 布局管理器类是一组类,它 • 实现 java.AW youtManage r 接口 • 帮助在容器中放置组件
位置属性,如果试图使用Java语言提供的setLocation(),setSize(),setBounds()等方法,则都会被 布局管理器覆盖。 • 如果用户确实需要亲自设置组件大小或位置,则应取消该容器的布局管理器,方法为:
• setLayout(null)
第22页/共40页
课堂练习
第23页/共40页
SWING容器组件1
Swing 应用程序
主窗口
内容面板
第3页/共40页
顶层容器(每个应用 程序中至少有一个)
主要显示区域包含 GUI 中的可视组件
创建顶层容器
创建容器
设置容器大小 (对框架及面板而言)
设置容器可见度 (对框架及面板而言)
SWING容器组件2
javax.swing 包
常见容器
JFrame

Java实用教程第18讲 java swing幻灯片PPT

Java实用教程第18讲 java swing幻灯片PPT
• (3)如果不指定方位,组件默认被添加到容 器的中心位置,并且占满整个容器。
精品文档
18.3.2 FlowLayout
• FlowLayout是JPanel的默认布局方式。使用 FlowLayout布局方式的容器中,组件按照加入 的先后顺序按照设置的对齐方式(居中、左对 齐、右对齐)从左向右排列,一行排满后再从 下一行开始继续排列。
• 在这种布局方式中,组件的大小不会随着容器 大小的变化而改变,其位置可能会发生改变。
精品文档
18.3.3 GirdLayout
• GridLayout是把容器分成M×N个网格,M 是行数,N是列数,M和N的值可以在创 建GridLayout的对象时确定。组件按照从 左到右,从上到下的顺序放入容器,容 器大小改变时,组件的相对位置不变, 大小会改变。
18.2.1 顶层容器
• Swing中的JFrame、JDialog、JApplet和JWindow直接继承 了AWT组件,它们是重量级的,被称为顶层容器。
• (1)JFrame继承自AWT中的Frame类,通常作为主窗体 使用。
• (2)JDialog用于创建对话框,对话框不能单独存在,必 须借助于窗体。
• BorderLayout 是JFrame的默认布局,可以直接 通过add()方法为其添加组件,默认情况下组件 被放在JFrame的中心位置,并且组件向四周扩 展,占满整个JFrame,BorderLayout的特点:
• (1)把容器分为五个方位:东、西、南、北、 中,组件按照方位被添加到容器。
• (2)组件的大小占满整个所属方位,组件的 大小随着容器的变化而变化。
• (3)JApplet可作为Java小应用程序的窗体,被嵌入到网 页中运行。

javaSwing总结PPT教学课件

javaSwing总结PPT教学课件

不可独立 显示的组 件
JComponent
Component Container
Swing组件类的层次
Window
可以独立 显示的组 件
Jpanel
JTable
JTree

JTextAr ea
Frame JFrame
Dialog JDialog
2020/12/11
语默制造 14
Swing组件
Swing组件类的层次
• 最常用的JFrame窗口类的构造器是无参构造器,使用该构造器将创建一 个初始不可见的新窗体。除此之外还有具有一个String类参数的构造器, 使用该构造器能够在初始时就创建一个具有标题的新窗体。还有两种需 要给出图形配置参数的构造器,这两种构造器在本书中不进行介绍。
• 创建新窗口后,就可以通过JFrame窗口类的方法来设置新窗口。首先使 用无参构造器创建的是一个不可见的新窗体,所以要使用方法来将窗体 设置为可见的形式。在JFrame窗口类中定义了一个setVisible方法来设 置窗口的可见性,该方法具有一个布尔型参数,true表示可见,false表 示不可见。将初始状态下的窗口设置为不可见是有原因的,因为有很多 对窗口的操作需要在窗口不可见的状态下执行,从而setVisible方法通 过在程序的最后执行。
• 16 • 17 • 18 • 19
• 20
import javax.swing.*;//导入Swing包 //继承JFrame类 public class Swing1 extends JFrame {
//定义构造器 public Swing1() {
this.setLayout(null);//设置布局管理器 JLabel jl=new JLabel();//定义一个标签 jl.setText("第一个Swing程序");//设置显示的文字 jl.setBounds(50,50,400,50);//设置标签的大小和位置 this.add(jl);//将标签放到窗口中 this.setBounds(300,250,500,200);//设置窗口的大小和位置 this.setVisible(true); //设置窗口是可见的 }

JavaSwing精品PPT课件

JavaSwing精品PPT课件
容器类控件 普通容器 com.kingdee.bos.ctrl.swing.KDPanel 滚动容器 com.kingdee.bos.ctrl.swing.KDScrollPane 页签容器 com.kingdee.bos.ctrl.swing.KDTabbedPane 分割区容器 com.kingdee.bos.ctrl.swing.KDSplitPane 标题容器 com.kingdee.bos.ctrl.swing.KDContainer 编辑器容器 com.kingdee.bos.ctrl.swing.KDLabelContainer
KDMenu
KDMenuItem
KDFormattedTextField
KDNumberTextField KDBusiCurrencyField,KDPanel
KDScrollBar, …
组合控件:由元控件组合而成的控件。
KDComboBox KDList KDTree KDDatePicker
KDTable
2 文本显示控件 com.kingdee.bos.ctrl.swing.KDLablel
P8
应用场景分类2
窗口系列控件
窗体 com.kingdee.bos.ctrl.swing.KDFrame
对话框 com.kingdee.bos.ctrl.swing.KDDialog
内部窗体 com.kingdee.bos.ctrl.swing.KDInternalFrame
菜单栏 com.kingdee.bos.ctrl.swing.KDMenuBar
状态栏 com.kingdee.bos.ctrl.swing.KDStatusBar
按钮类型控件
功能按钮 com.kingdee.bos.ctrl.swing.KDButton

javaSwing和事件精品PPT课件

javaSwing和事件精品PPT课件

setSize(int width, int height) :调整组件的大小,使其宽度为 width, 高度为 height
void setTitle(String title) :将此窗体的标题设置为指定的字符串 setVisible(boolean b) :根据参数 b 的值显示或隐藏此 Window。
JPasswordField(String text, int columns) 构造一个利用指定文本和列初始化的新 JPasswordField。
(五)JBቤተ መጻሕፍቲ ባይዱtton
JButton(Icon icon) 创建一个带图标的按钮。
JButton(String text) 创建一个带文本的按钮。
JButton(String text, Icon icon) 创建一个带初始文本和图标的按钮。
JLabel :标签
JButton :按钮
JTextField :文本域
JCheckbox :多选框
JRadioButton :单选框
JComboBox :组合列表
JList
:列表
JMenubar-JMenu-JMenuItem :菜单
一般我们使用自定义窗体,去继承JFrame,并实现一些监听接口, 将其中的控件组件,定义成自定义窗体类的私有成员变量, 在自定义窗体类的构造方法里初始化控件组件, 实现监听接口的方法。
尾部
3、在MyJFrame中添加JPanel
(三) 标签JLabel
JLabel用来描述静态信息,它不仅可以显示文字,还可以显示图标。 1、构造方法
JLabel() 创建无图像并且其标题为空字符串的 JLabel。
JLabel(Icon image) 创建具有指定图像的 JLabel 实例。JLabel(Icon image,

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


选课 JList
确认 JButton
保存 JFileChooser
结果 JTextArea
要求输入完毕按“确认”将该学生的信息记录到“结果”中;按
“保存”将结果保存到一个指定的文件中;基本信息与结
果界面上下分布在一个JSplitPane中;屏幕下方显示当前
时间
22
示例:学生信息管理系统
步骤一:由JFrame创建初始的用户界面,获得JFrame的容器,
JInternalFrame、Box等创建中间容器 ③ 由基本组件类创建有关的组件 ④ 将基本组件按照某种布局添加到中间容器中,根据需
要可能会用到容器的嵌套 ⑤ 将中间容器按照某种布局添加到顶层容器中,形成满
足用户需求的操作界面
20
获得JFrame的容器并添加组件
Container con = getContentPane(); JPanel panel = new JPanel(); JButton butt = new JButton("Press Me"); panel.add(butt); con.add(panel);
3
用户界面概述
一.用户界面的类型
字符用户界面(CUI):例如,MS-DOS 图形用户界面(GUI):例如,Microsoft Windows
二.GUI的组件
组件
基本的控制组件,例如:Button、Label等。 容器:能容纳和排列组件的组件
组件继承它的父容器的性质
4
Label
Frame Window
ng.Object
ponent
java.awt.Container
java.awt.Panel
java.awt.Window javax.swing.JComponent

java Swing基础.ppt

public class JFrameDemoNoContentPane {
public static void main(String[] args) { JFrame frame = new JFrame("JFrame演示"); JLabel label = new JLabel("我是JLabel"); JButton button = new JButton("我是JButton");
JToggleButton
JMenuItem
JCheckBox JRadioButton

JMenu
Swing的层次结构
JButton
第13章 Swing基础
13.1 Swing基础
Swing中的可视化组件均以J字母开头,其可以分为 容器类组件和非容器类组件两大类。
Swing容器类组件有两种: 顶级容器: JFrame,JDialog,JApplet 中间容器 :JPanel,JScrollPane JTabbedPane,JToolBar ……
第13章 Swing基础
13.2 Swing典型组件
【例题13-1】 JFrame演示
public class JFrameDemo {
public static void main(String[] args) { JFrame frame = new JFrame("JFrame演示"); JLabel label = new JLabel("我是JLabel"); JButton button = new JButton("我是JButton");
JButton
JLabel

JAVA开发培训讲义(Swing入门).ppt

JAVA开发培训讲义(Swing入门).pptSwing初级知识的事件机制桌面应用程序展示界面所用一套组件。

与平台无关丰富的层次结构适应编写丰富用户感受的界面是我们开发软件的最主要界面表现形式Component Container JComponentJCheckBox JRadioButton JButtonWindowFrame JFrameJMenuBarJToolBarJTabbedPanelJComboBoxJLabelJProcessBarJTableJTreeJTextField类型|长宽Key | Focus | paint上层组件的基类行高|颜色|字体|布局|类最基本的事件:Mouse|Key | Focus |paintpaintComponents(Graphics g)|如果有子组件8 int Sy = (rec.height -hh)/2;9 if ( im instanceof ImageIcon ){10 ImageIcon pImage = (ImageIcon)im;g.drawImage(pImage.getImage(), Sx, Sy,ww,hh,this);14 im.paintIcon( null,g2, Sx, Sy );2 public void mousePressed(MouseEvent e);3 public void mouseReleased(MouseEvent e);4 public void mouseEntered(MouseEvent e);Listener(…)加入事件侦听JComponent.addMouseListener( Listener(…)加入事件侦听JComponent.addKeyListener()加入事件侦听它组件|显示图片套的方式实现复杂界面布局于分组组件布局1 border1 = BorderFactory.createEtchedBorder(Color.white,new Color(148, 145, 140));2 titledBorder1 = new TitledBorder(border1,"带标题的Panel");容纳更多的信息图标、标题之前标签内容”);2 CLCaption.setText(“新的标签内容”);3 CLCaption.setIcon(…);2 CEField.addCaretListener(new CaretListener() {public void caretUpdate(CaretEvent e) {如果改变了内容,就可以即时更新label 显示的内容label.setText(textField.getText());8 CEField.select(0,0);。

JAVA Swing教学PPT


TreeModel接口 -- 树的数据模型
• setRoot() 设置树的根节点
范例11
范例名称:JTree应用举例
范例文件:
• TreeExample.java • TreeEnumeration.java


求:用TreeModel创建Swing JTree
的:掌握JTree的基本编程
练习
改造先前的“桌面考试系统”GUI,使 用SWING组件实现同样效果。
改变
事件
事件由控制器处理,控制器 根据事件的类型来改变模型 或一个或多个视图 模型维护一个视图列表,这 些视图为获得模型变化通知 已经向模型登记过了。当模 型发生变化时该模型通知已 向该模型登记的每个视图。 视 图通常 从该模型中获得 信息,接着更新自己
典型的MVC通信图
Swing的可分离MVC结构
的:了解Swing类使用的基本方式 点:JComponent/JFrame/Icon类
按钮、助记符和提示
JButton类。定义按钮,常用方法如下:
• addActionListener() 注册点击事件监听器 • setText() 设置按钮文字 • setIcon() 设置按钮图标
Mnemonic助记符
JLabel类
定义标签,是常用组件
JFrame
与java.awt.Frame类似 是RootPaneContainer的一种 setDefaultCloseOperation(int operation)
• DO_NOTHING_ON_CLOSE • HIDE_ON_CLOSE • DISPOSE_ON_CLOSE •
要点:1. 给菜单项分组的方法 2. 对菜单事件的处理方法
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JLabel类
定义标签,是常用组件
JFrame
与java.awt.Frame类似 是RootPaneContainer的一种 setDefaultCloseOperation(int operation)
• DO_NOTHING_ON_CLOSE • HIDE_ON_CLOSE • DISPOSE_ON_CLOSE •
设计重心
• 数据?界面?
Swing为每一个组件定义了一个分离的 模型接口(separatable model interface),用于数据抽象
菜单和工具条
JMenuBar类定义菜单条组件,重要方法:
• add(JMenu )
JMenu----菜单组件:
• add(JMenuItem)
Icon接口
Swing组件支持图像显示 ImageIcon类实现了Icon接口,用于描述图 像
• 创建ImageIcon对象
new ImageIcon(Image i) new ImageIcon(String filename) new ImageIcon(URL u)
• Icon接口定义的方法
范例06
范例名称:JTabbedPane,JSlider应用举例 范例文件:TabExample.java
SliderExample.java
进度条(JProgressBar)
JProgressBar类
定义了进度条组件,重要方法:
• setMinimum(int n)设置最小进度值 • setMaximum(int n) 设置最大进度值 • setValue(int n) 设置当前进度值
JPopupMenu
JPopupMenu类 定义弹出式菜单,重要方法:
• add(JMenuItem e) 往菜单中增加新的菜单项 • show() 显示菜单
JMenuItem类 定义菜单项,重要方法:
• addActionListener() 为菜单项增加事件处理
范例03
范例名称:JPopupMenu应用举例 范例文件:PopupExample.java
的:了解Swing类使用的基本方式 点:JComponent/JFrame/Icon类
按钮、助记符和提示
JButton类。定义按钮,常用方法如下:
• addActionListener() 注册点击事件监听器 • setText() 设置按钮文字 • setIcon() 设置按钮图标
Mnemonic助记符
Swing 结构
Swing类
不推荐混合使用 Swing和AWT的 可视组件 javax.swing包 两类组件:
• 顶层容器 (JFrame, JApplet, JWindow, JDialog) • 轻量级组件(如 JButton, JPanel 和JMenu)
顶层Swing容器
要点:
• • • • 可以把多个视图和控制器插入到单个模型中 当模型改变时,模型的视图能够自动地得到通知 在一个视图中改变模型的属性,将导致模型其他视图也随之更新 由于模型独立于视图,所以不需要修改模型来适应新类型的视图 或控制器
视图的更新
更新 模型 更新
视图1
获得数据
获得数据
视图2
改变
改变
控制器
Swing组件使用set4
范例名称:Swing组件边线应用举例 范例文件:BorderedButtons.java
复选框和箱式布局
JCheckBox类
定义复选框
ButtonGroup类
定义一个按钮组,将多个JCheckBox组 件放在ButtonGroup中,形成一组单选按 钮
通过组件的setMnemonic()方法可以设置组件助记 符
ToolTip提示
通过组件的setToolTipText()可设置组件的提示信 息
范例02
范例名称:Swing按钮/助记符/提示应用举例
范例文件:ButtonExample.java
TipButtons.java
要 目
求:使用JButton,并加上助记符和提示。 的:掌握JButton/Mnemonic/ToolTip的使用。
• TableExample.java • 根据数据构建表格

的:掌握JTable基本用法
树(JTree)
JTree -- 树组件,主要构造方法:
• public JTree() • public JTree(TreeModel newModel)
TreeNode接口 -- 树的节点组件
• DefaultMutableTreeNode类 • add() 添加节点
Box类
使用BoxLayout布局管理的轻型容器
范例05
范例名称:CheckBox应用举例
范例文件:CheckBoxPanel.java
选项卡和滑杆
JTabbedPane类
定义选项卡组件,重要方法:
• addTab() 添加选卡的方法
JSlider类
定义滑杆组件,重要方法:
• • • • • setXXXTickSpacing()设置刻度(主、次) setPaintXXX() 设置绘制标签、文字 addChangeListener() 刻度变化事件处理 getValue()获取当前滑块位置值 setValue()设定滑块位置(值)
TreeModel接口 -- 树的数据模型
• setRoot() 设置树的根节点
范例11
范例名称:JTree应用举例
范例文件:
• TreeExample.java • TreeEnumeration.java


求:用TreeModel创建Swing JTree
的:掌握JTree的基本编程
练习
改造先前的“桌面考试系统”GUI,使 用SWING组件实现同样效果。
• getValue() 获取当前进度值
范例07
范例名称:JprogressBar应用举例 范例文件:ProgressExample.java
经典的 “MVC” 结构
MVC体系结构:
• 针对需要为同样的数据提供多个 不同视图的应用程序而设计
MVC的三种对象模型
• 模型(Model):表示数据 • 视图(View):绘制模型的视觉表现 • 控制器(Controller):接受用户通过 视图的输入,并改变模型


求:在一个JPanel中加上弹出菜单。
的:掌握弹出菜单的使用。
Border 接口及边线类型
javax.swing.border.* 包中定义了各种边线类, 各种类均实现了Border接口,该接口中定义了 边的公共方法。
• • • • • LineBorder 线条边 BevelBorder 简单的双线边 EtchedBorder 蚀刻边 EmptyBorder 空的透明的边,占据边的位置 CompoundBorder 组合边
JMenuItem----菜单项组件:
• addActionListener()
JRatioButtonMenuItem---- 单 选 菜 单 项 组 件 :
• setSelected(boolean ) • addItemListener()
JToolBar类:工具条
范例08
范例名称:Swing 菜单应用举例 范例文件:MenuBarExample.java 要求:编写一个菜单系统,能用来改变外观感觉 目的:掌握菜单的编程方法
JFrame, JDialog, JApplet
RootPaneContainer ContentPane (JPanel类型容器)
f.getContentPane().add(…) f.getContentPane().setLayout(…)
Swing‘J’
组 件 类 层 次
改变
事件
事件由控制器处理,控制器 根据事件的类型来改变模型 或一个或多个视图 模型维护一个视图列表,这 些视图为获得模型变化通知 已经向模型登记过了。当模 型发生变化时该模型通知已 向该模型登记的每个视图。 视 图通常 从该模型中获得 信息,接着更新自己
典型的MVC通信图
Swing的可分离MVC结构
组件、框架和标签
JComponent类
所有Swing轻量组件的基类,它定义了Swing组 件的大部分基本功能。 JComponent类继承了java.awt.Container类,因 此所有的Swing组件都是AWT容器。
JFrame类
JFrame定义一个GUI程序的框架,是图形程序不 可缺少的一部分
要求:
• 写出一个有List和ComboBox的Frame。
目的:
• 掌握JList和JComboBox基本用法
表格(JTable)
JTable类 定义表格组件 TableModel接口 定义表格的模型 data[][] 代表表格的数据 columnNames[]代表表格的表头
范例10
范例名称:JTable应用举例 范例文件:
要点:1. 给菜单项分组的方法 2. 对菜单事件的处理方法
列表框和组合框
JList -- 列表框
• 注意:JList列表框如要上下滚动需添加到 JScrollPane中
JComboBox -- 组合框
范例09
范例名称:列表框和组合框应用举例 范例文件:
• ListComboExample.java
Chp4 Swing
本课内容
JFC结构
AWT与 Swing的关系 Swing结构及类层次 图形支持与Icon接口 Swing组件的使用
MVC体系结构
相关文档
最新文档