1. 程式人生 > >55、控制元件、事件處理和佈局介紹

55、控制元件、事件處理和佈局介紹

學習目標:

1、瞭解Swing提供的控制元件

2、掌握控制元件的不同的事件器

學習過程:

這裡我們就一一介紹一下swing中常用的一些控制元件。

attcontent/33bad418-85f8-4392-a6f0-86962995ff14.png

一、常用控制元件例項:

先看看那下圖,初步瞭解一下每個控制元件的基本形式。

1、jLable

JLabel() JLabel()建立一個預設的 JLabel 例項
JLabel(String text) 以指定的文字建立 JLabel 例項
JLabel(Icon image) 以指定的影象建立 JLabel 例項
getText() 返回標籤顯示的文字字串
setIcon(Icon icon) 標籤將顯示的影象內容
setText(String text) 定義此元件將要顯示的單行文字

2、JTextField

JTextField() 

構造一個新的文字輸入框  

JTextField(String text) 

構造一個新的文字輸入框 ,以指定文字作為初始文字

getColumns()

返回文字欄位中的列數

setColumns(int columns)

置文字欄位中的列數,然後使佈局無效

setHorizontalAlignment(int value)

設定文字欄位中文字的水平對齊方式:JTextField. LEFT

JTextField.CENTER JTextField.RIGHT

3、JTextArea

JTextArea() 

構造一個新的文字區

JTextArea(String text) 

用指定的顯示文字構造一個新的文字區

setFont(Font f)

設定文字區的字型

getText() 返回標籤顯示的文字字串

4、JButton 

JButton( ) 

建立不帶文字和圖示的按鈕

JButton(Icon icon) 

建立帶圖示的按鈕

JButton(String text) 

建立帶文字的按鈕

JButton(String text, Icon icon) 

建立帶文字和圖示的按鈕

setRolloverIcon(Icon img)

當滑鼠經過時,顯示指定的圖示

setSelectedIcon(Icon img)

當選擇按鈕時,顯示 img 指定的圖示

5、JCheckBox 

JCheckBox( ) 

建立初始非選中的複選框,且不帶文字或

圖示 

JCheckBox(String text) 

用指定的文字建立初始非選中的複選框。

JCheckBox(String text, boolean selected) 

用指定文字建立一個複選框,並指定是否

初始選中該複選框

6、JComboBox 

JcomboBox()

建立一個下拉框例項

addItem(Object obj)

將項新增至項的列表

getItemAt(int index)

返回指定索引位置的列表項

getItemCount()

返回列表(作為物件)中的項數

getSelectedItem()

將當前選擇的項作為一個物件返回

getSelectedIndex()

返回當前選擇項的索引位置

二、事件處理器

1、什麼是事件處理

一個事件要求特定的動作被執行,它被作為訊息由外界或系統自身傳送給GUI系統。這些事件包括來自計算機裝置如滑鼠鍵盤和網路埠的I/O中斷,以及GUI系統的邏輯事件觸發,比如一個按鈕的ActionEvent事件。

2、示例手動編碼。為按鈕繫結單擊事件,

首先,定義事件處理內部類,實現ActionListener介面。

1

2

3

4

5

    class ClickAction implements ActionListener{

    public void actionPerformed(ActionEvent event){

      System.out.println("用於執行了單擊操作");

   }

  }

然後,給button增加監聽器。

1

       button.addActionListener(new ClickAction());

三、佈局管理器

佈局管理器就是使用者介面上的螢幕元件可以按照一定的格式佈局,例如讓元件水平排列,或按網格方式排列等等。佈局管理器類是一組類,它實現 java.AWT.LayoutManager 介面,幫助在容器中放置元件。

Swing中可用的各種佈局如下:BorderLayout、FlowLayout、GridLayout等等,Android的佈局參考了Swing的實現,雖然兩者之間實現完全不同,但使用上面有很多相似之處。在以後我們學習Android時候,再詳細講解佈局。大家可自行參考相關書籍。