最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java基礎之標簽、按鈕和按鈕事件簡介

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

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

標簽

標簽(JLabel)是最簡單的Swing組件。標簽對象的作用是對位于其后的界面組件作說明??梢栽O置標簽的屬性,即前景色,背景色、字體等,但不能動態(tài)地編輯標簽中的文本。

程序關于標簽的基本內容有以下幾個方面:
1.聲明一個標簽名;
2.創(chuàng)建一個標簽對象;
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)在界面設計中用于激發(fā)動作事件。按鈕可顯示文本,當按鈕被激活時,能激發(fā)動作事件。

JButton常用構造方法有:
1.JButton():創(chuàng)建一個沒有標題的按鈕對象;
2.JButton(String s):創(chuàng)建一個標題為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):向按鈕添加動作監(jiān)視器。
8.removeActionListener(ActionListener aL):移動按鈕的監(jiān)視器。

按鈕處理動作事件的基本內容有以下幾個方面:

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

復制代碼 代碼如下:

addActionListener(this);

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

復制代碼 代碼如下:

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

6.在實現(xiàn)接口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();//聲明并創(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){//實現(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{}
   }
 }

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

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

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

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

前面程序中的類ButtonDemo正確地做到了這兩點。

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

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

您可能感興趣的文章:

相關文章

  • 深入IDEA Debug問題透析詳解

    深入IDEA Debug問題透析詳解

    這篇文章主要為大家介紹了深入IDEA Debug問題透析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-01-01
  • Java Swing JProgressBar進度條的實現(xiàn)示例

    Java Swing JProgressBar進度條的實現(xiàn)示例

    這篇文章主要介紹了Java Swing JProgressBar進度條的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12
  • Java設計模式之觀察者模式observer?pattern詳解

    Java設計模式之觀察者模式observer?pattern詳解

    這篇文章主要介紹了Java設計模式之觀察者模式observer?pattern詳解,當一個對象發(fā)生數(shù)據變化時,通知其他相關的一系列對象,接受到通知的對象根據該對象的變化進行相應處理以響應變化的過程,需要的朋友可以參考下
    2023-12-12
  • Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)

    這篇文章主要給大家介紹了關于Java多線程之JUC(java.util.concurrent)的常見類(多線程編程常用類)的相關資料,Java中的JUC(java.util.concurrent)包提供了一些并發(fā)編程中常用的類,這些類可以幫助我們更方便地實現(xiàn)多線程編程,需要的朋友可以參考下
    2024-02-02
  • Java 17 隨機數(shù)生成器來了一波穩(wěn)穩(wěn)的增強

    Java 17 隨機數(shù)生成器來了一波穩(wěn)穩(wěn)的增強

    JDK 當中的隨機數(shù)生成器其實對于普通開發(fā)者來講基本夠用,不過對于一些比較復雜的場景來講,原有的類結構對擴展并不是很友好,除了 Random 類,JDK 當中還提供了另外幾個隨機數(shù)的成員,下面文章將詳細介紹,需要的朋友可以參考一下
    2021-09-09
  • java實現(xiàn)table添加右鍵點擊事件監(jiān)聽操作示例

    java實現(xiàn)table添加右鍵點擊事件監(jiān)聽操作示例

    這篇文章主要介紹了java實現(xiàn)table添加右鍵點擊事件監(jiān)聽操作,結合實例形式分析了Java添加及使用事件監(jiān)聽相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • java連接mysql數(shù)據庫學習示例

    java連接mysql數(shù)據庫學習示例

    這篇文章主要介紹了java連接mysql數(shù)據庫學習示例,需要的朋友可以參考下
    2014-03-03
  • 使用Netty實現(xiàn)類似Dubbo的遠程接口調用的實現(xiàn)方法

    使用Netty實現(xiàn)類似Dubbo的遠程接口調用的實現(xiàn)方法

    本文介紹了如何使用Netty框架實現(xiàn)類似Dubbo的遠程接口調用,通過自定義編解碼器、通信協(xié)議和服務注冊中心等實現(xiàn)遠程通信和服務治理。文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習吧
    2023-04-04
  • 詳細說明關于Java的數(shù)據庫連接(JDBC)

    詳細說明關于Java的數(shù)據庫連接(JDBC)

    這篇文章主要介紹了詳細說明關于Java的數(shù)據庫連接JDBC,JDBC是用Java語言向數(shù)據庫發(fā)送SQL語句,需要的朋友可以參考下面文章內容
    2021-09-09
  • Java中的StringBuilder類解析

    Java中的StringBuilder類解析

    這篇文章主要介紹了Java中的StringBuilder類解析,該類被設計用作StringBuffer的一個簡易替換,用在字符串緩沖區(qū)被單線程使用的時候,如果可能,優(yōu)先采用該類,因為在大多數(shù)實現(xiàn)中,String Builder比StringBuffer要快,需要的朋友可以參考下
    2023-09-09

最新評論

平陆县| 麻栗坡县| 芮城县| 栾川县| 手游| 昭觉县| 贺州市| 红原县| 临西县| 奎屯市| 资兴市| 合江县| 房山区| 荔波县| 吉安市| 满洲里市| 固原市| 阿鲁科尔沁旗| 浦北县| 思南县| 漳平市| 西丰县| 江永县| 山阴县| 六枝特区| 广昌县| 五寨县| 万州区| 泰顺县| 酒泉市| 大厂| 池州市| 嘉黎县| 芒康县| 普格县| 吴忠市| 奉贤区| 和顺县| 甘孜| 杨浦区| 阜城县|