JavaBeans and Bean Events
JavaBeans
Javabeans就是一个普通的java类,但符合某种特定规范。使用Javabeans的好处是解决代码重复编写,功能区分明确,提高了代码的可维护性。
每个GUI类都是JavaBeans组件,因为
(1)它是一个公共类;
(2)它有一个公共的无参数构造函数;
(3)它是java.awt.component的扩展,后者实现java.io.Serializable。
Bean Events
一个bean可以与其他bean通信。Java事件委托模型(event delegation model)为bean发送、接收和处理事件提供了基础。当bean发生某些事情时,比如鼠标单击javax.swing.JButton bean,就会创建一个事件对象来封装与该事件相关的信息。bean将事件对象传递给感兴趣的bean,以便处理事件。
Java Swing
Swing Container
javax.swing.JDialog
短消息对话框:
JOptionPane.showMessageDialog(空,“4+2=6”);
javax.swing.JFileChooser
选择文件:
showOpenDialog(), showSaveDialog()
javax.swing.JFrame
带有标题和边框的顶级窗口,通常用作程序的主窗口。
常用参数:
contentPane、iconImage、jMenuBar、layout、title、resizable
javax.swing.JPanel
- JPanel不是顶级容器;它必须放在另一个容器中,并且可以放在另一个JPanel中。
- 由于JPanel是JComponent的一个子类,它是一个轻量级组件,但是JFrame和JApplet是重量级组件。
Swing Layout
CardLayout
GridBagLayout
参数说明
- gridx,gridy —— 设置组件的位置,gridx设置为GridBagConstraints.RELATIVE代表此组件位于
之前所加入组件的右边。gridy设置为GridBagConstraints.RELATIVE代表此组件位于以前所加入组件的下面。 - gridwidth,gridheight —— 用来设置组件所占的单位长度与高度,默认值皆为1。你可以使用GridBagConstraints.REMAINDER常量,代表此组件为此行或此列的最后一个组件,而且会占据所有剩余的空间。
- weightx,weighty —— 用来设置窗口变大时,各组件跟着变大的比例。当数字越大,表示组件能得到更多的空间,默认值皆为0。
- anchor —— 当组件空间大于组件本身时,要将组件置于何处。有CENTER(默认值)、NORTH、NORTHEAST、EAST、SOUTHEAST、WEST、NORTHWEST选择。
- fill —————- 当组件空间大于组件本身时,要将组件如何填充。
- insets —— 设置组件之间彼此的间距。它有四个参数,分别是上,左,下,右,默认为(0,0,0,0)。
- ipadx,ipady —— 设置组件间距,默认值为0。
No Layout
container.setLayout(null);
必须使用组件的实例方法setBounds()放置组件。
BoxLayout
Box box1 = Box.createHorizontalBox(); //横向 Box box2 = Box.createVerticalBox(); //纵向
OverlayLayout
OverlayLayout是一个Swing布局管理器,它将组件排列在彼此之上。要创建覆盖布局,请使用以下构造函数:
public OverlayLayout(Container target)
SpringLayout
SpringLayout是JDK 1.4中引入的一种新的Swing布局管理器。弹簧布局的想法是在组件周围放置一个弹性弹簧。弹簧可以压缩或膨胀以将部件放置在所需位置。
component
JScrollPane
滚动面板,JScrollPane可以被看作是一个特殊的容器,它有一个用于显示所包含组件的视图端口。除了水平和垂直滚动条之外,JScrollPane还可以有列标题、行标题和角点。
常用属性:
columnHeader
rowHeader
viewport
JTabbedPane
通常将面板放置在JTabbedPane中,并将选项卡与每个面板关联。JTabbedPane很容易使用,因为面板的选择是通过单击相应的选项卡自动处理的。通过单击具有给定标题和/或图标的选项卡,可以在一组面板之间切换。
JSplitPane
JSplitPane是一个方便的Swing容器,它包含两个组件和一个称为分隔符的单独条。
0 条评论