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容器,它包含两个组件和一个称为分隔符的单独条。

Swing Borders


0 条评论

发表评论

Avatar placeholder