Java基礎知識筆記第九章:組件及事件處理


java Swing

圖形用戶界面(GUI : Graphics  User   Interface)

 

窗口

  JFrame常用方法

JFrame()創建一個無標題的窗口。

JFrame(String s)創建標題為s的窗口。

public voidsetBounds(int a,int b,int width,int height)設置窗口的初始位置是(a,b),即距屏幕左面a個像素,距屏幕上方b個像素,窗口的寬是width,高是height。

public void setSize(int width,int height)設置窗口的大小。

public void setLocation(int x,int y)設置窗口的位置,默認位置是(0,0)。   

public void setVisible(boolean b)設置窗口是否可見,窗口默認是不可見的。

public voidsetResizable(boolean b)設置窗口是否可調整大小,默認可調整大小。

public voiddispose()撤銷當前窗口,並釋放當前窗口所使用的資源。
    
publicvoid setExtendedState(int state)設置窗口的擴展狀態,其中參數state取JFrame類中的下列類常量

MAXIMIZED_HORIZ (水平方向最大化) MAXIMIZED_VERT (垂直方向最大化) MAXIMIZED_BOTH (水平、垂直方向都最大化)。
  
publicvoid setDefaultCloseOperation(int operation)該方法用來設置單擊窗體右上角的關閉圖標后,程序會做出怎樣的處理,

其中的參數operation取JFrame類中的下列int型static常量,程序根據參數operation取值做出不同的處理: 
   
DO_NOTHING_ON_CLOSE(什么也不做),HIDE_ON_CLOSE (隱藏當前窗口),DISPOSE_ON_CLOSE (隱藏當前窗口,並釋放窗體占有的其他資源),EXIT_ON_CLOSE (結束窗口所在的應用程序)。

 

  菜單條,菜單,菜單項

/*
*菜單條
*/

setJMenuBar(JMenubar  bar);
菜單:
JComponent類的子類JMenu負責創建菜單,即JMenu的一個實例就是一個菜單

菜單項:
JComponent類的子類JMenuItem負責創建菜單項,即JMenuItem的一個實例就是一個菜單項

嵌入子菜單:
JMenu是JMenuItem的子類,因此菜單本身也是一個菜單項,把一個菜單看做菜單項添加到某個菜單中時,稱為菜單的子菜單


菜單上的圖標:
Icon   icon=new ImageIcon(“a.gif”);

 

常用組件及部件

  常用組件

JTextField:文本框
JTextArea:文本區
JButton:按鈕
JLable:標簽
JCheckBox:復選框
JRadioButton:單選框
JComboBox:下拉列表
JPasswordFiled:密碼框

 

  常用容器

/*

JCpompoent是Container的子類,因此JComponent子類創建的組件也都是容器;中間容器必須添加到底層容器才能發揮作用

*/
1.JPanel面板
2.JtabbedPane選項卡窗口
        add(String  text,Component  c);//方法將組件c添加到JtabbedPane容器中
        public   JTabbedPane(int   tabPlacement);
3.滾動窗口:
JScrollPane  scroll=new   JScrollPane(new   JTextArea())  

4. 拆分窗格JSplitPane
 JSplitPane(int   a,Component   b,Component   c)
 JSplitPane(int   a,boolean  b,Component   c,Component   d)

5.JLayeredPane分層窗格
add(Jcomponent  com,int   layer);

 

  常用布局

setLayout(布局對象);
FlowLayout布局:
FlowLayout();
botton.setPreferredSize(new Dimension(20,20))
BorderLayout布局
東西南北中布局
con.add(b,BorderLayout.CENTER);
CardLayout布局:

CardLayout  card=new   CardLayout();
GridLayout布局

null布局

            p.setLayout(null);
   
BoxLayout布局:

 

處理事件

  事件處理模式

事件源:
能夠產生事件的對象都可以稱為事件源,文本框,按鈕,下拉框。也就是說,事件源必須是一個對象。而且這個對象必須是java認為可以發生事件的對象

監聽器:
需要一個對象對事件源進行監視,以便發生的事件做出處理,事件源通過調用相應的方法,將某個對象注冊為自己的監聽器,例如文本框,這個方法

addActionListener(監聽器);
處理事件的接口:
監視器負責處理事件源發生的事件。監視器是一個對象。為了處理事件源的發生的事件,監視器這個對象會自動調用一個方法來處理,(對象只有調用方法才能產生行為)

 

  ActionEvent事件

ActionEvent事件源:
文本框,按鈕,菜單欄,密碼框,和單選框按鈕都可以觸發ActionEvent事件,即都可以成為ActionEvent事件的事件源。

 

  ItemEvent事件

  焦點事件

  鍵盤事件

  窗口事件

  匿名類實例或窗口做監聽器

使用mvc

對話框

  消息對話框

  輸入對話框

  確認對話框

  顏色對話框

  自定義對話框

樹組件與表格組件

  樹組件

  表格組件

按鈕綁定到鍵盤

打印組件

發布GUI程序


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM