9、GUI

來源:互聯網
上載者:User

標籤:eclips   比較   高度   tar   定義   執行個體   常見   add   dea   

Java不用來寫案頭應用(Eclipse是java寫的),開發網站 圖形介面(用得少) java.awt:用到的圖形類都是依賴系統圖形庫,抽象視窗工具集javax.swing:用到 的圖形類都是sun自己實現的在java中所有的圖形類都被稱為組建類組件(compomet)的類別----------| 容器----------|非容器組件 一、組件1、JFrame架構帶邊界的表單,是一個容器注意 :需要調用setVisible(true)方法後才會顯示架構1、方法

(1)設定JFrame的寬度和高度

java.awt.Window.setSize(int width, int height);

(2)JFrame顯示在螢幕中間,如果 c 為 null,則此視窗將置於螢幕的中央

java.awt.Window.setLocationRelativeTo(Component c);

(3)關閉JFrame程式

javax.swing.JFrame.setDefaultCloseOperation(int operation);  // EXIT_ON_CLOSE

(4)添加組件

java.awt.Container.add(Component comp);

 

2、JDialog 對話方塊

(1)建立對話方塊

JDialog(Dialog owner, String title, boolean modal);

 

3、JOptionPane 對話方塊(1)訊息對話方塊(2)警告對話方塊(3)錯誤對話方塊(4)輸入對話方塊(5)確認對話方塊
JOptionPane.showMessageDialog(null, "錯誤資訊提示", "標題", JOptionPane.INFORMATION_MESSAGE); 

 

4、面板(Panel)

面板也是一個容器的組件,可以在上面添加

注意:面板不能單獨使用,必須在頂層視窗中使用

 

5、常用組件

(1)JButtion 普通按鈕

按鈕Button是點擊時觸發動作事件的組件

(2)JRadioButton 選項按鈕

選項按鈕,可以讓使用者從一組選項中選擇一個單一條目(例如性別)

(3)JCheckBox 複選框

(4)JLabel 標籤

(5)JTextField 文本域

(6)JTextArea 文本地區

(7)JComboBox 組合框

(8)JList 列表框

(9)JmenuBar 菜單條

JMenu菜單、JMenultem功能表項目

菜單條(MenuBar)中包含菜單(Menu),菜單中中包含功能表項目(MenuItem),注意添加的順序

二、 布局管理器1、 FlowLayout 流式布局

Jpanel容器預設的布局管理器流式布局,按照組件添加的順序,從左到到右將組件排列在容器中.當放滿一行,就開始新的一行.在FlowLayout有3個常量FlowLayout可以指定組件的對齊

(1)擷取水平間隙

int getHgap() ;

(2)設定水平間隙

void setHgap(int hgap) ;

(3)建立布局管理器

FlowLayout(int align, int hgap, int vgap);  // 建立一個新的流布局管理器,它具有指定的對齊以及指定的水平和垂直間隙,預設五個像素

 

2、GridLayout 網格布局

GridLyaout是以網格形式管理組件的.組件按照他們添加的順序從左至右排列

1、規則:

1.行數和列數可以是0但是不能兩者都為0

2.如果一個為0另外一個不為0,那麼不為0的行或列的大小就是固定的,為0的行或者列有布局管理器動態決定

 

2、構造方法
GridLayout(int rows, int cols, int hgap, int vgap);  //  建立具有指定行數和列數,水平間隔,垂直間隔的網格布局

 

3、方法

(1)行數

int getRows();

(2)列數

int getColumns() ;  // 預設值是1

(3)水平間距

int getHgap() ;  // 預設值是0

(4)垂直間距

int getVgap();

set方法設定

 

3、BorderLayout邊框布局

JFrame 容器預設的布局管理器是邊框布局.該管理器將容器非為東西南北中5個地區.我們使用add(Component,index)方法可以將組件添加進到BorderLayout中,index是一個常量,有5個值

 

三、Java事件監聽機制1、事件和事件來源

能夠建立一個事件並觸發該事件的組件稱為來源物件(按鈕能夠點擊, 那麼按鈕就是一個來源物件,按鈕被點擊就是一個事件)

一個事件是事件類別的執行個體對象。事件類別的根類是java.util.EventObject

事件對象包含事件相關的屬性,可以使用EventObject類中的執行個體方法getSource獲得事件的來源物件

 

2、 監聽器

Java中,對象表示的每個事件都是由java.util中EventObject類的子類

 

3、事件處理

Java對組件都有對應的事件監聽器,和添加事件監聽器方法

 

4、 視窗事件

Window 對象是一個頂層視窗。視窗(Window)對應的事件叫做視窗事件(WindowEvent),任何視窗(Window)以及視窗的子類都可能觸發視窗事件

(1)Window添加視窗事件(WindowEvent)監聽器的方法

void addWindowListener(WindowListener l)  // 添加指定的視窗接聽程式,以從此視窗接收視窗事件

監聽Window視窗事件(WindowEvent)的監聽器:WindowListener

用於接收視窗事件的接聽程式介面。當通過開啟、關閉、啟用或停用、表徵圖化或取消表徵圖化而改變了視窗狀態時,將調用該接聽程式對象中的相關方法

(2)WindowListener介面中定義的方法

 1 抽象方法: 2 void windowActivated(WindowEvent e)  3           啟用視窗 4  void windowClosed(WindowEvent e)  5           關閉視窗 6  void windowClosing(WindowEvent e)  7           正在關閉視窗 8  void windowDeactivated(WindowEvent e)  9           變為非使用中視窗10  void windowDeiconified(WindowEvent e) 11           還原視窗    12  void windowIconified(WindowEvent e) 13           已最小化的視窗 14 void windowOpened(WindowEvent e) 15            開啟視窗 

 

5、 監聽器介面適配器

WindowListener介面中的方法都是抽象的,所以即使程式中不想關注某些事件,但是還是要實現所以的方法,比較麻煩,為了方便起見,Java提供了一個針對WindowListener介面的實作類別,該類中把WindowListener介面中的方法全部實現,只不過方法體都為空白

 

6、滑鼠鍵盤事件

MouseEvent對象捕獲

Java對滑鼠事件提供了MouseListener 監聽器介面,可以監聽滑鼠的按下,釋放,輸入,退出和點擊動作。

按鍵事件可以利用鍵盤來控制和執行一些動作,如果按下、釋放一個鍵就會觸發按鍵事件。KeyEvent對象可以捕獲按鍵的按下放開和敲擊。KeyEvent提供了getkeyChar 來擷取按鍵對應的字元。

char getKeyChar() ;  // 返回與此事件中的鍵關聯的字元

Java提供了KeyListener監聽器介面來監聽按鍵事件

1 void keyPressed(KeyEvent e)   //  按下某個鍵時調用此方法。 2 void keyReleased(KeyEvent e)   //   釋放某個鍵時調用此方法。 3 void keyTyped(KeyEvent e)   //  鍵入某個鍵時調用此方法。

 

 

一:確定事件來源(容器或組件)

二:註冊監聽器   

  通過事件來源對象的addXXXListener()方法將監聽器對象註冊到該事件來源上。

三:監聽器對象

    註冊監聽器時,需要指定監聽器對象。

以參數的形式進監聽器對象傳遞給addXXXListener()

監聽器對象是XXXListener的子類對象或者XXXAdapter的子類對象。

   監聽器對象一般用匿名內部類來表示。(簡化書寫)

   在覆蓋方法的時候,方法的參數一般是XXXEvent類型的變數接收。

   事件觸發後會把事件打包成對象傳遞給該變數。(其中包括事件來源對象。通過getSource()或者getComponent()擷取。)

四:常見的事件監聽器

WindowListener        主要用於監聽視窗

ActionListener          主要用於用監聽組件對象的單擊動作

MouseListener          滑鼠監聽器

KeyListener               監聽鍵盤

五:常見的事件適配器

WindowAdapter

MouseAdapter

KeyAdapter

 

9、GUI

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.