AvA Swing鹿护界面组你 辽宁经济职业技术学院信息系 硕士、副教授陈英 JAVA
Swing用户界面组件 辽宁经济职业技术学院信息系 硕士、副教授 陈英
AvA 模型一视圜一控制器设计模式 模型—存储内容。 o视图—显示内容。 ○控制器—处理用户输入 0每个Swng都有三个要素 )内容,例如按钮的状态(是否按下) 2)可视外观(颜色、尺寸等)。 3)行为(对事件的反应)。 JAVA
模型—视图—控制器设计模式 模型——存储内容。 视图——显示内容。 控制器——处理用户输入。 每个Swing都有三个要素: 1) 内容,例如按钮的状态(是否按下)。 2) 可视外观(颜色、尺寸等)。 3) 行为(对事件的反应)
AvA 布局管理器概述 一个容器内的所有组件都由一个布局管理器进 行管理。 1)流布局管理器( java. awt. Flow Layout) 它是面板的默认布局管理器。在一行上水平排列组 件,直到该行上没有足够的剩余空间为止,这时另 起一新行。默认处理是居中显示 2)边界布局管理器( java. awt. BorderLayout) 这是每个 JFrame的内容窗格的默认布局管理器。 可以选择组件放在内容窗格的中间、北边、南边 东边或者西边。 JAVA
布局管理器概述 一个容器内的所有组件都由一个布局管理器进 行管理。 1) 流布局管理器(java.awt.FlowLayout) 它是面板的默认布局管理器。在一行上水平排列组 件,直到该行上没有足够的剩余空间为止,这时另 起一新行。默认处理是居中显示。 2) 边界布局管理器(java.awt.BorderLayout) 这是每个JFrame的内容窗格的默认布局管理器。 可以选择组件放在内容窗格的中间、北边、南边、 东边或者西边
备 java. awt Container AvA o setLayout LayoutManger m) ○为容器设置布局管理器。 java. awt. Flow Latout FlowLayout(int align) 根据指定的对齐方式(LEFT、 CENTER或者 RIGHT来构造一个新 FlowLayout JAVA
java.awt.Container setLayout(LayoutManger m) 为容器设置布局管理器。 java.awt.FlowLatout • FlowLayout(int align) • 根据指定的对齐方式(LEFT、CENTER或者 RIGHT)来构造一个新FlowLayout
AvA 阌格布局管理器 3.网格布局管理器( java. awt. Grid Layout) GridLayout(int rows, int cols) 构造一个具有rows行,co列的新的网络布 局管理器。 Grid Layout(int rows, int cols, int hgap, int vgap) 使用给定组件间水平和垂直间距来构造 GridLayout JAVA
网格布局管理器 3. 网格布局管理器(java.awt.GridLayout) GridLayout(int rows,int cols) 构造一个具有rows行,cols列的新的网络布 局管理器。 GridLayout(int rows,int cols,int hgap,int vgap) 使用给定组件间水平和垂直间距来构造 GridLayout
AvA 箱式布局管理醫 4.箱式布局管理器( javax. swing. BoxLayout) 箱式布局要比网格布局更灵活,它可以布置行式 布局( BoxLayout.X AXIS或列式布局 (BoxLayout.Y AXIS 组件。 ○容器类Box非常便于使用这种箱式布局,因为它 自带有一个 BoxLayout管理器。 它还有两个静态方法:分别用于创建一个水平或 垂直排列内容的容器 1)Static Box CreateHorizontalBoxO 2) Static Box Create VerticalBoxO JAVA
箱式布局管理器 4. 箱式布局管理器( javax.swing.BoxLayout ) 箱式布局要比网格布局更灵活,它可以布置行式 布局(BoxLayout.X_AXIS)或列式布局 (BoxLayout.Y_AXIS) 组件。 容器类Box非常便于使用这种箱式布局,因为它 自带有一个BoxLayout管理器。 它还有两个静态方法:分别用于创建一个水平或 垂直排列内容的容器 1) Static Box CreateHorizontalBox() 2) Static Box CreateVerticalBox()
AvA 支撑( strut)和胶水(glue) Box类包含着用于生成一种称为支撑的不可 见组件的表态方法。这些支撑的用途是在 组件之间插入空间,既可以水平插入,也 可以垂直插入。 垂直支撑由静态方法 Create verticalBox0在 B0x类中返回;而 CreateHorizontalBoxO用 于生成一个水平支撑 胶水是一种不可见组件,它的作用就是占 据Box容器中的多余空间。 代表胶水的组件中通过调用一个B0x鸡家的 JAVA create Glue 0方法生成
支撑(strut)和胶水(glue) Box类包含着用于生成一种称为支撑的不可 见组件的表态方法。这些支撑的用途是在 组件之间插入空间,既可以水平插入,也 可以垂直插入。 垂直支撑由静态方法CreateVerticalBox()在 Box类中返回;而CreateHorizontalBox()用 于生成一个水平支撑。 胶水是一种不可见组件,它的作用就是占 据Box容器中的多余空间。 代表胶水的组件中通过调用一个Box对象的 createGlue()方法生成
AvA 阌格組布局管理器 5.网格组布局管理器( ava awt. Grid Baglavou) 网格组布局是所有的布局管理器之母。 可以把网格组布局看作是没以限制的网格布 在一个网格组布局中,行和列的尺寸均可以 改变,并且可以加入相邻单元格来适应更大 的组件。 组件不需要填充整个的单元区域,并且可以 指定单元格内的对齐方式。 JAVA
网格组布局管理器 5. 网格组布局管理器(java.awt.GridBagLayout) 网格组布局是所有的布局管理器之母。 可以把网格组布局看作是没以限制的网格布 局。 在一个网格组布局中,行和列的尺寸均可以 改变,并且可以加入相邻单元格来适应更大 的组件。 组件不需要填充整个的单元区域,并且可以 指定单元格内的对齐方式
AvA 网格组布局管理器 ○使用网格布局管理器的步骤如下: 1.创建一个 Grid Baglayout类型的对象。 2.把此 Grid layout对象设成组件的布局管理器 3.创建一个 GridBagConstraints对象。该对象指 定组件如何在网格组中布局。 4.对于每一个组件,填充 GridBagConstraints对 象。最后使用如下调用来添加组件和约束 add(component, constrains) JAVA
网格组布局管理器 使用网格布局管理器的步骤如下: 1. 创建一个GridBagLayout类型的对象。 2. 把此GridBagLayout对象设成组件的布局管理器。 3. 创建一个GridBagConstraints对象。该对象指 定组件如何在网格组中布局。 4. 对于每一个组件,填充GridBagConstraints对 象。最后使用如下调用来添加组件和约束。 add(component,constrains)
AvA 网格组布局管理器示例 o Grid Bag Layout layout= new Grid Bag Layout; panel setlayout(layout); O Grid Bag Constraints constraints new Grid Bag Constraints; o constraints weight=100; O constraints. weighty =100 constraints. grid =0 O constraints. grid=2 O constraints. gridwidth =2 O constraints. gridheight=1; JAVA contentPame. add(style, bold)
网格组布局管理器示例 GridBagLayout layout = new GridBagLayout(); panel.setLayout(layout); GridBagConstraints constraints = new GridBagConstraints(); constraints.weightx = 100; constraints.weighty = 100; constraints.gridx = 0; constraints.gridy = 2; constraints.gridwidth = 2; constraints.gridheight = 1; contentPame.add(style,bold)