Java程序设计 Programming in Java 雍俊海 清华学软件学院 School of software, Tsinghua University yongjunhai(@tsinghua.org.cn 2021/2/24
2021/2/24 1 Java程序设计 Programming in Java 雍俊海 清华大学软件学院 School of Software , Tsinghua University yongjunhai@tsinghua.org.cn
Swing 整体介绍 Swing GUI组件 所在的包: Javax.swing Swing组件的平台相关性较小( lightweight) 早期版本的GU组件 所在的包: java. awt 与平台相关性较强 2021/2/24 2
2021/2/24 2 Swing整体介绍 • Swing GUI 组件 – 所在的包: javax.swing – Swing组件的平台相关性较小(lightweight) • 早期版本的GUI组件 – 所在的包: java.awt – 与平台相关性较强
JComponent 组件类的层次结构 java. lang Object t--java awt Component java. awt Container +--javax swing JComponent JComponent大多数Swng组件类父类 Swing 2021/2/24
2021/2/24 3 JComponent • 组件类的层次结构 java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent • JComponent——大多数Swing组件类父类
Swing 组件 容器 各种组件必须放在容器 容器本身也是一种组件 分类 顶层容器 其它容器 组件 基本控制组件 不可编辑的信息显示组件 可编辑的信息显示组件 2021/2/2
2021/2/24 4 Swing 组件 • 容器 – 各种组件必须放在容器 – 容器本身也是一种组件 – 分类 • 顶层容器 • 其它容器 • 组件 – 基本控制组件 – 不可编辑的信息显示组件 – 可编辑的信息显示组件
些GUI组件 ·标签 JLabel) 文本框( JTextField) 按钮( JButton) 复选框( J CheckB0x) 组合框 JComboBox) 文本( JTextarea) 框架( JFrame) 面板( PAne 2021/2/24
2021/2/24 5 一些GUI组件 • 标签(JLabel) • 文本框(JTextField) • 按钮(JButton) • 复选框(JCheckBox) • 组合框(JComboBox) • 文本(JTextArea) • 框架(JFrame) • 面板(JPanel)
框架( JFrame) 类 Jframe是 java. awt. Frame的子类 在 Swing的组件中, JFrame并不全是由Jav编写的 是一种与平台关系比较密切的组件( Heavyweight component java. lang Object +--java awt Component +--java. awt Container +--java awt Window +--java awt Frame +--javax swing JFrame 2021/2/24
2021/2/24 6 框架(JFrame) • 类 JFrame 是java.awt.Frame的子类 • 在Swing的组件中, JFrame 并不全是由Java编写的 – 是一种与平台关系比较密切的组件(Heavyweight component) java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--java.awt.Window | +--java.awt.Frame | +--javax.swing.JFrame
构造方法 Iframe JFrame( String title 创建方式 JFrame j=new FRamed Jframe j= new jframe(“标题”); 2021/2/24
2021/2/24 7 构造方法 • JFrame() • JFrame(String title) • 创建方式 • JFrame j=new JFrame(); • JFrame j=new JFrame(“标题”);
Jframe常用方法 set DefaultCloseOperation(int operation) operation常用参数: Jframe. EXIT ON CLOSE(退出时候关闭) setsize( int w int h默认的大小为0 set visible( boolean):默认是不可见 · setlocation(int,int;设置显示位置 Container get ContentPaneo得到内容面板 2021/2/24
2021/2/24 8 JFrame常用方法 • setDefaultCloseOperation(int operation) – operation常用参数: • JFrame. EXIT_ON_CLOSE (退出时候关闭) • setSize(int w,int h):默认的大小为0 • setVisible(boolean):默认是不可见 • setLocation(int,int);设置显示位置 • Container getContentPane();得到内容面板
Continue set Background( color c) Color. red Color blue new Color(int, int, int ): #XO-255 如: new Color(25255,0) ad( Component c);添加各部件 · String getTitleo;/得到 JFrame的标题 setbounds(int x, int y, int width, int height);∥设置 frame对象的大小和位置 2021/2/24
2021/2/24 9 Continue • setBackground(Color c) – Color.red – Color.blue – new Color(int,int,int): 取0-255 • 如:new Color(255,255,0); • add(Component c);添加各部件 • String getTitle();//得到JFrame的标题 • setBounds(int x,int y, int width,int height);//设置 Frame对象的大小和位置
怎么添加组件到 JFrame getContentPane(O)方法 然后给内容面版设置布局管理方式 setlayout(Manager Layout m) nu不使用任何布局管理器 ad(方法添加某部件 set bounds( Intint,int,int)方法决定组件位置和 大小 2021/2/24
2021/2/24 10 怎么添加组件到JFrame • getContentPane()方法 • 然后给内容面版设置布局管理方式 setLayout(ManagerLayout m) – null:不使用任何布局管理器 – add()方法添加某部件 – setBounds(int,int,int,int)方法决定组件位置和 大小