国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java頁面設(shè)計之事件處理綜合介紹

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

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

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ButtonDemo {
private JFrame
frame=new JFrame("ButtonDemo");
private JButton
b1 = new JButton("按鈕1"),
b2 = new JButton("按鈕2");
private JTextField
txt = new JTextField(10);
//這里是使用一個匿名類來實現(xiàn)對按鈕的監(jiān)聽
private ActionListener bl = new ActionListener() {
//實現(xiàn)監(jiān)聽類中的抽象函數(shù)
public void actionPerformed(ActionEvent e) {
String name = ((JButton)e.getSource()).getText();
txt.setText(name);
}
};
public ButtonDemo () {
//將監(jiān)聽對象注冊給兩個按鈕
b1.addActionListener(bl);
b2.addActionListener(bl);
frame.setLayout(new FlowLayout());
frame.add(b1);
frame.add(b2);
frame.add(txt);
frame.setVisible(true);
frame.setSize(200,150);
}
public static void main(String[] args) {
new ButtonDemo ();
}
}

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

class MyMouseListener extends MouseAdapter{
public void mouseClicked(MouseEvent e){
//實現(xiàn)當點擊鼠標時的動作
}
}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 合川市| 安陆市| 南木林县| 易门县| 招远市| 封丘县| 新余市| 平湖市| 武功县| 高碑店市| 苍梧县| 陇川县| 景东| 叶城县| 乌兰浩特市| 南开区| 车致| 新建县| 台中市| 昌吉市| 彰武县| 尉犁县| 天津市| 台安县| 蕉岭县| 班玛县| 泗阳县| 宜昌市| 西充县| 清镇市| 兴仁县| 盐城市| 左权县| 佛冈县| 广灵县| 红安县| 建始县| 靖远县| 舞阳县| 巴东县| 通州市|