第十二周

课程学习总结:

本周主要学习了其他容器和事件处理

1.JPanel
JPanel 是 Java 图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,是一种轻量级容器,可以加入到JFrame窗体中。JPanel默认的布局管理器是FlowLayout,其自身可以嵌套组合,在不同子容器中可包含其他组件(component),如JButton、JTextArea、JTextField 等,功能是对窗体上的这些控件进行组合.

2.JSplitPane
JSplitPane用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT

3.JTabbedPane
JTabbedPane选项卡面板实现了一个多卡片的用户界面,通过它可以将一个复杂的对话框分割成若干个选项卡,实现对信息的分类显示和管理,使界面更简洁大方,还可以有效地减少窗体的个数。

4.JScrollPane
JScrollPane类可提供轻量级组件的 scrollable 视图。JScrollPane 管理视口、可选的垂直和水平滚动条以及可选的行和列标题视口。

事件处理
(1)监听器
ActionListener接口 ——通常用自己创建的新类implements接口。

        建议使用匿名内部类实现,因为内部类可以访问类内的变量,而匿名类可以大大简化代码,不需要构造函数。

(2)适配器
由WindowAdapter类实现的WindowListener接口中的众多方法。

        由于ActionListener接口只有一个方法所以不需要提供适配器类。

(3)动作
Action接口 由AbstractAction类实现 包含以下方法:

void actionPerformed(ActionEvent event); //扩展于ActionListener接口
void setEnabled(boolean b); //启用或禁用这个这个动作
boolean isEnabled(); //检查动作是否启用
void putValue(String key, Object value); //存储名/值对到动作对象中
Object getvalue(String key); //检索动作对象中的任意名/值对
void addPropertyChangeListener(PropertyChangeListener listener);
void remove PropertyChangeListener(PropertyChangeListener listener); 
//最后两个方法能够让其他对象在动作对象的属性发生变化时得到通告

键盘事件
KeyStroke类将击键与动作相关联,每个组件可以有三个输入映射 InputMap 和一个动作映射 ActionMap 用 get 获取 put 改变。

鼠标事件
如果只希望用户点击按钮或菜单,则不需要显式地处理鼠标事件。然而,如果希望用户使用鼠标画图,就需要捕获鼠标移动点击和拖动事件。

posted @ 2019-11-15 20:17  rimary  Views(154)  Comments(0Edit  收藏  举报