Java標簽、按鈕和按鈕事件簡介
標簽和按鈕也許是圖形界面中最常見的兩種組件,按鈕又總是與激發動作事件有關。
標簽
標簽(JLabel)是最簡單的Swing組件。標簽對象的作用是對位于其后的界面組件作說明。可以設置標簽的屬性,即前景色,背景色、字體等,但不能動態地編輯標簽中的文本。
程序關于標簽的基本內容有以下幾個方面:
1.聲明一個標簽名;
2.創建一個標簽對象;
3.將標簽對象加入到某個容器。
JLabel類的主要構造方法是:
1.JLabel ():構造一個無顯示文字的標簽;
2.JLabel (String s):構造一個顯示文字為s的標簽;
3.JLabel(String s, int align):構造一個顯示文字為s的標簽。align為顯示文字的水平方式,對齊方式有三種: 左對齊:
JLabel.LEFT
中心對齊:JLabel.CENTER
右對齊:JLabel.RIGHT
JLabel類的其他常用方法是:
1.setText(String s):設置標簽顯示文字;
2.getText():獲取標簽顯示文字;
3.setBackground(Color c):設置標簽的背景顏色,默認背景顏色是容器的背景顏色;
4.setForeground(Color c):設置標簽上的文字的顏色,默認顏色是黑色。
按鈕
按鈕(JButton)在界面設計中用于激發動作事件。按鈕可顯示文本,當按鈕被激活時,能激發動作事件。
JButton常用構造方法有:
1.JButton():創建一個沒有標題的按鈕對象;
2.JButton(String s):創建一個標題為s的按鈕對象。
JButton類的其他常用方法有:
1.setLabel(String s):設置按鈕的標題文字。
2.getLabel():獲取按鈕的標題文字。
3.setMnemonic(char mnemonic):設置熱鍵
4.setToolTipText(String s):設置提示文字。
5.setEnabled(boolean b):設置是否響應事件
6.setRolloverEnabled(boolean b):設置是否可滾動。
7.addActionListener(ActionListener aL):向按鈕添加動作監視器。
8.removeActionListener(ActionListener aL):移動按鈕的監視器。
按鈕處理動作事件的基本內容有以下幾個方面:
1.與按鈕動作事件相關的接口是ActionListener,給出實現該接口的類的定義;
2.聲明一個按鈕名;
3.創建一個按鈕對象;
4.將按鈕對象加入到某個容器;
5.為需要控制的按鈕對象注冊監視器,對在這個按鈕上產生的事件實施監聽。如果是按鈕對象所在的類實現監視接口,注冊監視器的代碼形式是
復制代碼 代碼如下:
addActionListener(this);
參見【例 11-3】,如果是別的類A的對象a作為監視器,類A必須實現ActionListener接口,完成監視器注冊需用以下形式的兩行代碼:
復制代碼 代碼如下:
A a = new A(); //創建類A的實例a
addActionListener(a); //用對象a作為監視器對事件進行監視。
6.在實現接口ActionListener的類中,給出處理事件的方法的定義:
復制代碼 代碼如下:
public void actionPerformed(ActionEvent e);
在處理事件的方法中,用獲取事件源信息的`方法獲得事件源信息,并判斷和完成相應處理。獲得事件源的方法有:方法 getSource()獲得事件源對象;方法getActionCommand()獲得事件源按鈕的文字信息。
【例 11-3】處理按鈕事件實例,應用程序定義了一個窗口,窗口內設置兩個按鈕,當點擊Red按鈕時,窗口的背景色置成紅色;點擊Green按鈕時,窗口的背景色置成綠色。
import javax.swing.*;import java.awt.*;import java.awt.event.*; public class J503{ public static void main(String[]args){ ButtonDemo myButtonGUI=new ButtonDemo();//聲明并創建按鈕對象 myButtonGUI.setVisible(true); } } class ButtonDemo extends JFrame implements ActionListener{ public static final int Width=250; public static final int Height=200; ButtonDemo(){ setSize(Width,Height); setTitle("按鈕事件樣例"); Container conPane=getContentPane(); conPane.setBackground(Color.BLUE); conPane.setLayout(new FlowLayout());//采用FlowLayout布局 JButton redBut=new JButton("Red"); redBut.addActionListener(this);//給Red按鈕注冊監視器 conPane.add(redBut);//在窗口添加Red按鈕 JButton greenBut=new JButton("Green"); greenBut.addActionListener(this);//給Green按鈕注冊監視器 conPane.add(greenBut);//在窗口添加Green按鈕 } public void actionPerformed(ActionEvent e){//實現接口處理事件的方法 Container conPane=getContentPane(); if(e.getActionCommand().equals("Red"))//是Red按鈕事件 conPane.setBackground(Color.RED); else if(e.getActionCommand().equals("Green"))//是Green按鈕事件 conPane.setBackground(Color.GREEN); else{} } }
用鼠標點擊按鈕產生事件對象,將事件送達對象,這個過程稱為激發事件。當一個事件被送到監視器對象時,監視器對象實現的接口方法被調用,調用時系統會提供事件對象的參數。程序中雖然沒有調用監視器方法的的代碼,但是程序做了兩件事:第一,指定哪一個對象是監視器,它將響應由按鈕的激發的事件,這個步驟稱為監視器注冊。第二,必須定義一個方法,當事件送到監視器時,這個方法將被調用。程序中沒有調用這個方法的代碼,這個調用是系統執行的。
在上面的程序中,代碼:
redBut.addActionListener(this);
注冊this作為redBut按鈕的監視器,隨后的代碼也注冊this作為greenBut按鈕的監視器。在上述的程序中,this就是當前的ButtonDemo對象myButtonGUI。這樣,ButtonDemo類就是監視器對象的類,對象MyButtonGUI作為兩個按鈕的監視器。在類ButtonDemo中有監視器方法的實現。當一個按鈕被點擊時,系統以事件的激發者為參數,自動調用方法actionPerformed ()。
組件不同,激發的事件種類也不同,監視器類的種類也不同。按鈕激發的事件稱為action事件,相應的監視器稱為action監視器。一個action監視器對象的類型為ActionListener,類要實現ActionListener接口。程序體現這些內容需要做到兩點:
1.在類定義的首行接上代碼implements ActionListener;
2.類內定義方法actionPerformed ()。
前面程序中的類ButtonDemo正確地做到了這兩點。
每個界面元素當激發事件時,都有一個字符串與這個事件相對應,這個字符串稱為action命令。用代碼 e.getActionCommand()就能獲取action事件參數e的命令字符串,據此,方法actionPerformed()就能知道是哪一個按鈕激發的事件。在默認情況下,按鈕的命令字符串就是按鈕上的文字。如有必要可以用方法 setActionCommand()為界面組件設置命令字符串。
以上所述就是本文的全部內容了,希望大家能夠喜歡。
【Java標簽、按鈕和按鈕事件簡介】相關文章:
1.Dreamweaver創建圖形提交按鈕
2.Photoshop制作網頁按鈕的方法
3.網頁設計中如何設計按鈕
4.車內不能隨便按的按鈕
5.如何用photoshop制作蘋果風格的按鈕
6.Dreamweaver插入單選按鈕的五個技巧
7.Photoshop繪制質感的立體按鈕的處理教程
8.photoshop高光常用按鈕的制作方法