欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java基礎(chǔ)之標(biāo)簽、按鈕和按鈕事件簡介

 更新時(shí)間:2015年06月10日 10:34:52   投稿:hebedich  
本文給大家?guī)淼氖莏ava圖形界面的基礎(chǔ)知識,簡單介紹了標(biāo)簽、按鈕和按鈕事件,十分的詳細(xì),有需要的小伙伴可以參考下。

標(biāo)簽和按鈕也許是圖形界面中最常見的兩種組件,按鈕又總是與激發(fā)動(dòng)作事件有關(guān)。

標(biāo)簽

標(biāo)簽(JLabel)是最簡單的Swing組件。標(biāo)簽對象的作用是對位于其后的界面組件作說明。可以設(shè)置標(biāo)簽的屬性,即前景色,背景色、字體等,但不能動(dòng)態(tài)地編輯標(biāo)簽中的文本。

程序關(guān)于標(biāo)簽的基本內(nèi)容有以下幾個(gè)方面:
1.聲明一個(gè)標(biāo)簽名;
2.創(chuàng)建一個(gè)標(biāo)簽對象;
3.將標(biāo)簽對象加入到某個(gè)容器。

JLabel類的主要構(gòu)造方法是:
1.JLabel ():構(gòu)造一個(gè)無顯示文字的標(biāo)簽;
2.JLabel (String s):構(gòu)造一個(gè)顯示文字為s的標(biāo)簽;
3.JLabel(String s, int align):構(gòu)造一個(gè)顯示文字為s的標(biāo)簽。align為顯示文字的水平方式,對齊方式有三種: •左對齊:

JLabel.LEFT

•中心對齊:JLabel.CENTER
•右對齊:JLabel.RIGHT

JLabel類的其他常用方法是:
1.setText(String s):設(shè)置標(biāo)簽顯示文字;
2.getText():獲取標(biāo)簽顯示文字;
3.setBackground(Color c):設(shè)置標(biāo)簽的背景顏色,默認(rèn)背景顏色是容器的背景顏色;
4.setForeground(Color c):設(shè)置標(biāo)簽上的文字的顏色,默認(rèn)顏色是黑色。

按鈕

按鈕(JButton)在界面設(shè)計(jì)中用于激發(fā)動(dòng)作事件。按鈕可顯示文本,當(dāng)按鈕被激活時(shí),能激發(fā)動(dòng)作事件。

JButton常用構(gòu)造方法有:
1.JButton():創(chuàng)建一個(gè)沒有標(biāo)題的按鈕對象;
2.JButton(String s):創(chuàng)建一個(gè)標(biāo)題為s的按鈕對象。

JButton類的其他常用方法有:
1.setLabel(String s):設(shè)置按鈕的標(biāo)題文字。
2.getLabel():獲取按鈕的標(biāo)題文字。
3.setMnemonic(char mnemonic):設(shè)置熱鍵
4.setToolTipText(String s):設(shè)置提示文字。
5.setEnabled(boolean b):設(shè)置是否響應(yīng)事件
6.setRolloverEnabled(boolean b):設(shè)置是否可滾動(dòng)。
7.addActionListener(ActionListener aL):向按鈕添加動(dòng)作監(jiān)視器。
8.removeActionListener(ActionListener aL):移動(dòng)按鈕的監(jiān)視器。

按鈕處理動(dòng)作事件的基本內(nèi)容有以下幾個(gè)方面:

1.與按鈕動(dòng)作事件相關(guān)的接口是ActionListener,給出實(shí)現(xiàn)該接口的類的定義;
2.聲明一個(gè)按鈕名;
3.創(chuàng)建一個(gè)按鈕對象;
4.將按鈕對象加入到某個(gè)容器;
5.為需要控制的按鈕對象注冊監(jiān)視器,對在這個(gè)按鈕上產(chǎn)生的事件實(shí)施監(jiān)聽。如果是按鈕對象所在的類實(shí)現(xiàn)監(jiān)視接口,注冊監(jiān)視器的代碼形式是

復(fù)制代碼 代碼如下:

addActionListener(this);

參見【例 11-3】,如果是別的類A的對象a作為監(jiān)視器,類A必須實(shí)現(xiàn)ActionListener接口,完成監(jiān)視器注冊需用以下形式的兩行代碼:

復(fù)制代碼 代碼如下:

A a = new A();  //創(chuàng)建類A的實(shí)例a
addActionListener(a);  //用對象a作為監(jiān)視器對事件進(jìn)行監(jiān)視。

6.在實(shí)現(xiàn)接口ActionListener的類中,給出處理事件的方法的定義:

復(fù)制代碼 代碼如下:

public void actionPerformed(ActionEvent e);

在處理事件的方法中,用獲取事件源信息的方法獲得事件源信息,并判斷和完成相應(yīng)處理。獲得事件源的方法有:方法 getSource()獲得事件源對象;方法getActionCommand()獲得事件源按鈕的文字信息。

【例 11-3】處理按鈕事件實(shí)例,應(yīng)用程序定義了一個(gè)窗口,窗口內(nèi)設(shè)置兩個(gè)按鈕,當(dāng)點(diǎn)擊Red按鈕時(shí),窗口的背景色置成紅色;點(diǎn)擊Green按鈕時(shí),窗口的背景色置成綠色。

 import javax.swing.*;import java.awt.*;import java.awt.event.*;
 public class J503{
   public static void main(String[]args){
     ButtonDemo myButtonGUI=new ButtonDemo();//聲明并創(chuàng)建按鈕對象
     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按鈕注冊監(jiān)視器
     conPane.add(redBut);//在窗口添加Red按鈕
     JButton greenBut=new JButton("Green");
     greenBut.addActionListener(this);//給Green按鈕注冊監(jiān)視器
     conPane.add(greenBut);//在窗口添加Green按鈕
   }
   public void actionPerformed(ActionEvent e){//實(shí)現(xiàn)接口處理事件的方法
     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{}
   }
 }

用鼠標(biāo)點(diǎn)擊按鈕產(chǎn)生事件對象,將事件送達(dá)對象,這個(gè)過程稱為激發(fā)事件。當(dāng)一個(gè)事件被送到監(jiān)視器對象時(shí),監(jiān)視器對象實(shí)現(xiàn)的接口方法被調(diào)用,調(diào)用時(shí)系統(tǒng)會(huì)提供事件對象的參數(shù)。程序中雖然沒有調(diào)用監(jiān)視器方法的的代碼,但是程序做了兩件事:第一,指定哪一個(gè)對象是監(jiān)視器,它將響應(yīng)由按鈕的激發(fā)的事件,這個(gè)步驟稱為監(jiān)視器注冊。第二,必須定義一個(gè)方法,當(dāng)事件送到監(jiān)視器時(shí),這個(gè)方法將被調(diào)用。程序中沒有調(diào)用這個(gè)方法的代碼,這個(gè)調(diào)用是系統(tǒng)執(zhí)行的。

在上面的程序中,代碼
    redBut.addActionListener(this);
注冊this作為redBut按鈕的監(jiān)視器,隨后的代碼也注冊this作為greenBut按鈕的監(jiān)視器。在上述的程序中,this就是當(dāng)前的ButtonDemo對象myButtonGUI。這樣,ButtonDemo類就是監(jiān)視器對象的類,對象MyButtonGUI作為兩個(gè)按鈕的監(jiān)視器。在類ButtonDemo中有監(jiān)視器方法的實(shí)現(xiàn)。當(dāng)一個(gè)按鈕被點(diǎn)擊時(shí),系統(tǒng)以事件的激發(fā)者為參數(shù),自動(dòng)調(diào)用方法actionPerformed ()。

組件不同,激發(fā)的事件種類也不同,監(jiān)視器類的種類也不同。按鈕激發(fā)的事件稱為action事件,相應(yīng)的監(jiān)視器稱為action監(jiān)視器。一個(gè)action監(jiān)視器對象的類型為ActionListener,類要實(shí)現(xiàn)ActionListener接口。程序體現(xiàn)這些內(nèi)容需要做到兩點(diǎn):

1.在類定義的首行接上代碼implements ActionListener;
2.類內(nèi)定義方法actionPerformed ()。

前面程序中的類ButtonDemo正確地做到了這兩點(diǎn)。

每個(gè)界面元素當(dāng)激發(fā)事件時(shí),都有一個(gè)字符串與這個(gè)事件相對應(yīng),這個(gè)字符串稱為action命令。用代碼 e.getActionCommand()就能獲取action事件參數(shù)e的命令字符串,據(jù)此,方法actionPerformed()就能知道是哪一個(gè)按鈕激發(fā)的事件。在默認(rèn)情況下,按鈕的命令字符串就是按鈕上的文字。如有必要可以用方法 setActionCommand()為界面組件設(shè)置命令字符串。

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。

相關(guān)文章

  • Java不帶break將導(dǎo)致case穿透問題

    Java不帶break將導(dǎo)致case穿透問題

    這篇文章主要介紹了Java不帶break將導(dǎo)致case穿透問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 詳解Spring中的FactoryBean

    詳解Spring中的FactoryBean

    本篇文章主要介紹了Spring中的FactoryBean,如果一個(gè)bean的創(chuàng)建過程中涉及到很多其他的bean 和復(fù)雜的邏輯,用xml配置比較困難,這時(shí)可以考慮用FactoryBean
    2017-04-04
  • 通過實(shí)例了解cookie機(jī)制特性及使用方法

    通過實(shí)例了解cookie機(jī)制特性及使用方法

    這篇文章主要介紹了通過實(shí)例了解cookie機(jī)制特性及使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • 利用Spring?Boot和JPA創(chuàng)建GraphQL?API

    利用Spring?Boot和JPA創(chuàng)建GraphQL?API

    這篇文章主要介紹了利用Spring?Boot和JPA創(chuàng)建GraphQL?API,GraphQL既是API查詢語言,也是使用當(dāng)前數(shù)據(jù)執(zhí)行這些查詢的運(yùn)行時(shí),下文更多相關(guān)內(nèi)容介紹需要的小伙伴可以參考一下
    2022-04-04
  • SpringCloud Gateway 利用 Mysql 實(shí)現(xiàn)動(dòng)態(tài)路由的方法

    SpringCloud Gateway 利用 Mysql 實(shí)現(xiàn)動(dòng)態(tài)路由的方法

    這篇文章主要介紹了SpringCloud Gateway 利用 Mysql 實(shí)現(xiàn)動(dòng)態(tài)路由的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • java實(shí)現(xiàn)上傳網(wǎng)絡(luò)圖片到微信臨時(shí)素材

    java實(shí)現(xiàn)上傳網(wǎng)絡(luò)圖片到微信臨時(shí)素材

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)上傳網(wǎng)絡(luò)圖片到微信臨時(shí)素材,網(wǎng)絡(luò)圖片上傳到微信服務(wù)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Java?離線中文語音文字識別功能的實(shí)現(xiàn)代碼

    Java?離線中文語音文字識別功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了Java?離線中文語音文字識別,本次使用springboot?+maven實(shí)現(xiàn),官方demo為springboot+gradle,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • java8 多個(gè)list對象用lambda求差集操作

    java8 多個(gè)list對象用lambda求差集操作

    這篇文章主要介紹了java8 多個(gè)list對象用lambda求差集操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java volatile關(guān)鍵字作用及使用場景詳解

    java volatile關(guān)鍵字作用及使用場景詳解

    在本文里我們給大家分享的是關(guān)于java volatile關(guān)鍵字作用及使用場景的相關(guān)知識點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-08-08
  • Spring循環(huán)依賴的解決方案詳解

    Spring循環(huán)依賴的解決方案詳解

    這篇文章將用實(shí)例為大家詳細(xì)介紹了介紹如何解決Spring的循環(huán)依賴問題,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Spring有一定的幫助,需要的可以參考一下
    2022-07-07

最新評論