日本好好热aⅴ|国产99视频精品免费观看|日本成人aV在线|久热香蕉国产在线

  • <cite id="ikgdy"><table id="ikgdy"></table></cite>
    1. 西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

      首頁編程開發(fā)java → Java頁面設計之事件處理

      Java頁面設計之事件處理

      相關軟件相關文章發(fā)表評論 來源:西西整理時間:2012/12/2 21:10:33字體大小:A-A+

      作者:西西點擊:0次評論:0次標簽: 事件處理

      在JAVA程序設計中,事件的處理是非常重要的,尤其是在需要自定義事件和設計JavaBean時.對事件的處理過程有一個完整的認識對于編程是很有幫助的。

      一、事件:用戶對程序的某一種功能性操作

      Java中的事件主要有兩種:
      1.組件類事件
      componentEvent、ContainerEvent、WindowEvent、FocusEvent、PaintEvent、MouseEvent共六大類,

      它們均是當組件的狀態(tài)發(fā)生變化時產(chǎn)生。

      2.動作類事件
      ActionEvent、TextEvent、AdjustmentEvent、ItemEvent共四類。
      Java中的事件類都包含在JDK的Java.awt.event包中。

      二、事件編程:
      用戶編程定義每個特定事件發(fā)生時程序應做出何種響應,并且這些響應代碼會在對應的事件發(fā)生時由系統(tǒng)自動調(diào)用。

      如果想要自定義一個事件,則必須提供一個事件的監(jiān)聽接口以及一個事件類。在JAVA中監(jiān)聽接口繼承java.util.EventListener,事件類繼承java.util.EventObject.很多基本的事件在編程環(huán)境中都已經(jīng)提供可以很方便使用,但是在自定義事件中必須要要了解這些。

      當你把界面都設計好了,總需要添加相應的執(zhí)行動作給組件,在JAVA中有相應的時間處理機制,叫做“監(jiān)聽器”,給組件添加相應執(zhí)行動作的過程叫做“注冊”,其中的“監(jiān)聽器”是一個接口,里面包含了相應的執(zhí)行函數(shù),要做的是自己實現(xiàn)其中的方法函數(shù),然后“注冊”給組件,通俗一點的話就是老媽讓我去買醬油,老媽不關心我會轉過幾天街道,會怎樣和老板到討價還價怎樣回家,老媽需要的最終結果是我能夠將醬油交付到她的手中,期中買醬油的過程是我實現(xiàn)的,我就是事件處理機制里面的“監(jiān)聽器”接受老媽的指示,老媽讓我買醬油去,就是對應將事件“注冊”給我,呵呵,又一次完美體現(xiàn)了JAVA中實現(xiàn)與接口分離。

      JAVA中的組件事件有ActionEvent、KeyEvent、FocusEvent、ComponentEvent、MouseEvent、AdjustmentEvent等,每個組件支持其中的全部或者是一部分事件,相應的事件有相應的Listener來監(jiān)聽事件的發(fā)生并且實現(xiàn)接口的方法,程序員要做的事情就是創(chuàng)建一個事件的類對象,實現(xiàn)它里面的函數(shù),然后將它注冊給相應的組件,下面用代碼演示一下:

      1 import javax.swing.*;
      2 import java.awt.*;
      3 import java.awt.event.*;
      4
      5 public class ButtonDemo  {
      6     private JFrame
      7     frame=new JFrame("ButtonDemo");
      8     private JButton
      9     b1 = new JButton("按鈕1"),
      10     b2 = new JButton("按鈕2");
      11     private JTextField
      12     txt = new JTextField(10);
      13     //這里是使用一個匿名類來實現(xiàn)對按鈕的監(jiān)聽
      14   private ActionListener bl = new ActionListener() {
      15       //實現(xiàn)監(jiān)聽類中的抽象函數(shù)
      16     public void actionPerformed(ActionEvent e) {
      17       String name = ((JButton)e.getSource()).getText();
      18       txt.setText(name);
      19     }
      20   };
      21   public ButtonDemo () {
      22       //將監(jiān)聽對象注冊給兩個按鈕
      23     b1.addActionListener(bl);
      24     b2.addActionListener(bl);
      25     frame.setLayout(new FlowLayout());
      26     frame.add(b1);
      27     frame.add(b2);
      28     frame.add(txt);
      29     frame.setVisible(true);
      30     frame.setSize(200,150);
      31    
      32   }
      33   public static void main(String[] args) {
      34    new ButtonDemo ();
      35   }
      36 }

      監(jiān)聽接口中如果有不止一個函數(shù),而我只想實現(xiàn)其中的一個函數(shù)的時候,很顯示程序是不能運行的,因為你必須實現(xiàn)接口當中的所有函數(shù)的時候,才可以通過編譯,程序才可以跑起來,那應該怎們辦納?呵呵,顯然JAVA語言設計者已經(jīng)考慮到了這一點,所以提供了一個叫做“適配器”的家伙,它默認實現(xiàn)了接口當中的所有函數(shù),繼承“適配器”這個類,并覆蓋你所該興趣的那個函數(shù)就可以了:

      1 class MyMouseListener extends MouseAdapter{
      2 public void mouseClicked(MouseEvent e){
      3 //實現(xiàn)當點擊鼠標時的動作
      4 }
      5 }

        相關評論

        閱讀本文后您有什么感想? 已有人給出評價!

        • 8 喜歡喜歡
        • 3 頂
        • 1 難過難過
        • 5 囧
        • 3 圍觀圍觀
        • 2 無聊無聊

        熱門評論

        最新評論

        發(fā)表評論 查看所有評論(0)

        昵稱:
        表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
        字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
        推薦文章

        沒有數(shù)據(jù)