第十二周
課程學習總結:
本周主要學習了其他容器和事件處理
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 改變。
鼠標事件
如果只希望用戶點擊按鈕或菜單,則不需要顯式地處理鼠標事件。然而,如果希望用戶使用鼠標畫圖,就需要捕獲鼠標移動點擊和拖動事件。

浙公網安備 33010602011771號