其他容器:
一、Jpanel
面板是一种通用容器,JPanel的作用是实现界面的层次结构,在它上面放入一些组件,也可以在上面绘画,将放有组件和有画的JPanel再放入另一个容器里。JPanel的默认布局为FlowLayout。
面板处理程序的基本内容有以下几个方面:
1 通过继承声明JPanel类的子类,子类中有一些组件,并在构造方法中将组件加入面板。
2 声明JPanel子类对象。
3 创建JPanel子类对象。
4 将JPanel子类对象加入到某个容器。
JPanel类的常用构造方法有:
1 JPanel(),创建一个JPanel对象。
2 JPanel(LayoutManager layout),创建JPanel对象时指定布局layout。
JPanel对象添加组件的方法:
1 add(组件),添加组件。
2 add(字符串,组件),当面板采用GardLayout布局时,字符串是引用添加组件的代号。
二、Jsplitpane
常用方法:
1 setDividerSize(int size)设置分割条的大小。
2 getDividerSize()得到分割条的大小。
3 setDividerLocation(int size)按照百分比设置分割条的位置。
4 getOrientation获得方向。
使用 JSplitPane 监听窗口缩放事件:
JSplitPane splitPane = new javax.swing.JSplitPane();
splitPane.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
if (evt.getPropertyName().equals(JSplitPane.DIVIDER_LOCATION_PROPERTY)) {
//action code
}
}
});
三、JScrollPane
当一个容器内放置了许多组件,而容器的显示区域不足以同时显示所有组件时,如果让容器带滚动条,通过移动滚动条的滑块,容器中位置上的组件就能看到。滚动面板JScrollPane能实现这样的要求,JScrollPane是带有滚动条的面板。JScrollPane是Container类的子类,也是一种容器,但是只能添加一个组件。JScrollPane的一般用法是先将一些组件添加到一个JPanel中,然后再把这个JPanel添加到JScrollPane中。这样,从界面上看,在滚动面板上,好像也有多个组件。在Swing中,像JTextArea、JList、JTable等组件都没有自带滚动条,都需要将它们放置于滚动面板,利用滚动面板的滚动条,浏览组件中的内容。
JScrollPane类的构造方法有:
1 JScrollPane(),先创建JScrollPane对象,然后再用方法setViewportView(Component com)为滚动面板对象放置组件对象。
2 JScrollPane(Component com),创建JScrollPane对象,参数com是要放置于JScrollPane对象的组件对象。为JScrollPane对象指定了显示对象之后,再用add()方法将JScrollPane对象放置于窗口中。
四、事件处理
Java对组件都有对应的事件监听器,和添加事件监听器方法。
例如: 按钮: 源对象,会触发
体验:当用户点击按钮时,按钮上的信息会发生变化
监听器:当源对象触发了一个事件,谁来处理这个事件?在Java中对此感兴趣的对象会处理它。对此感兴趣的对象称之为监听器(Listener)。
举例来说当我们点击一个按钮,想要按钮执行一些动作,需要一个对象来监控按钮,当点击按钮的事件发生时,该对象就会监听到按钮事件。进而可以执行一些动作。
五、窗体事件
Window 对象是一个顶层窗口。窗口(Window)对应的事件叫做窗口事件(WindowEvent),任何窗口(Window)以及窗口的子类都可能触发窗口事件: 打开窗口,正在关闭窗口,激活窗口,变成非活动窗口,最小化窗口和还原窗口。
Window添加窗口事件(WindowEvent)监听器的方法
void addWindowListener(WindowListener l)
添加指定的窗口侦听器,以从此窗口接收窗口事件
监听Window窗口事件(WindowEvent)的监听器:WindowListener
java.awt.event
接口 WindowListener
用于接收窗口事件的侦听器接口。当通过打开、关闭、激活或停用、图标化或取消图标化而改变了窗口状态时,将调用该侦听器对象中的相关方法
WindowListener接口中定义的方法:
抽象方法:
void windowActivated(WindowEvent e)
激活窗口
void windowClosed(WindowEvent e)
关闭窗口
void windowClosing(WindowEvent e)
正在关闭窗口
void windowDeactivated(WindowEvent e)
变为非活动窗口
void windowDeiconified(WindowEvent e)
还原窗口
void windowIconified(WindowEvent e)
最小化窗口
void windowOpened(WindowEvent e)
打开窗口
六、适配器类
适配器 接口
WindowAdapter WindowListener
MouserAdapter MouserListener
KeyAdapter KeyListener