學(xué)習(xí)處理事件時(shí),必須很好的掌握事件源,監(jiān)視器,處理事件的接口 1.事件源 能夠產(chǎn)生java認(rèn)可事件的對象都可稱為事件源,也就是說事件源必須是對象 2.監(jiān)視器 監(jiān)視事件源,以便對發(fā)生的事件做出處理 如:對文本框,這個(gè)方法為: addActionListener(監(jiān)視器); 3.處理事件的接口 為了讓監(jiān)視器這個(gè)對象能對事件源發(fā)生的事件進(jìn)行處理,創(chuàng)建該監(jiān)視器對象的類必須聲明實(shí)現(xiàn)相應(yīng)的接口,即必須在類體中給出該接口中所有方法的方法體 java.awt.event包中提供了許多事件類和處理各種事件的接口。 對于文本框,這個(gè)接口的名字是ActionListener,這個(gè)接口的唯一方法為:public void actionPerformed(ActionEvent e) 為了能監(jiān)視到ActionEvent類型的事件,事件源必須使用addActionListener方法獲得監(jiān)視器,創(chuàng)建監(jiān)視器的類必須實(shí)現(xiàn)接口ActionListener ActionEvent類有如下常用方法: 1. public Object getSource() ActionEvent對象調(diào)用該方法可以獲取發(fā)生ActionEvent事件的事件源對象的引用 2. public String getActionCommand() ActionEvent對象調(diào)用該方法可以獲取發(fā)生ActionEvent事件時(shí),和該事件相關(guān)的一個(gè)命令字符串 注意:創(chuàng)建監(jiān)視器對象的類必須聲明實(shí)現(xiàn)相應(yīng)的接口: class A implements xxxListener實(shí)戰(zhàn)演練:當(dāng)用戶在文本框text1中輸入英語單詞并按Enter鍵,文本框text3中立即顯示漢語意思;在文本框text2中中輸入漢語單詞并按Enter鍵后,文本框text3中立即顯示英文意思
代碼如下:
import java.awt.*;import java.awt.event.*;class Mywindow extends Frame implements ActionListener{ TextField text1,text2,text3; Mywindow(String s){ setTitle(s); setLayout(new FlowLayout()); text1=new TextField(8); text2=new TextField(8); text3=new TextField(15); add(text1); add(text2); add(text3); text1.addActionListener(this); text2.addActionListener(this); setBounds(100,100,150,150); setVisible(true); validate(); } public void actionPerformed(ActionEvent e){ if(e.getSource()==text1) { String Word=text1.getText(); if(word.equals("boy")) { text3.setText("男孩"); } else if(word.equals("girl")) { text3.setText("女孩"); } else if(word.equals("sun")) { text3.setText("太陽"); } else { text3.setText("沒有該單詞"); } } else if(e.getSource()==text2) { String word=text2.getText(); if(word.equals("男孩")) { text3.setText("boy"); } else if(word.equals("女孩")) { text3.setText("girl"); } else if(word.equals("太陽")) { text3.setText("sun"); } else { text3.setText("沒有該單詞"); } } }}public class Example3{ public static void main(String[] args){ Mywindow win=new Mywindow("漢英互譯"); }}
新聞熱點(diǎn)
疑難解答
圖片精選