java中的事件處理

yiyehuajia1993發表於2015-01-10
java中的事件處理札記(一)

今天學習了一些java中事件處理的一些方法,由於這點在java中挺重要的。因此在學習後寫個札記,讓自己能更好的回憶以便加深掌握。
什麼是事件處理機制:就是java中為了實現某種監聽功能,比如說我們點選按鈕或者點選滑鼠等等,我們就必須引入事件處理機制。
java中的事件處理總共分為以下四種情況:1.元件 2.鍵盤 3.滑鼠 4.視窗。

1.元件在事件處理機制中的使用方法
在java的GUI中,我們學習到元件的新增和使用。但是僅僅只有GUI是無法完成事件處理的。而對於GUI中的元件來說,如果我們要對某種事件進行監聽的話,就需要實現ActionListener這個介面,在這個介面中我們必須對其中的抽象方法進行重寫,也即actionPerformed方法進行重寫,在方法的重寫中我們加入可以對某種事件作出的反應,也即作出事件的處理。
e.g:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;//這是java中如果使用GUI和事件處理機制,必須匯入的三個包
public class A8_2 extends JFrame implements ActionListener{//在這裡實現介面ActionListener和繼承JFrame類
JPanel myPanel;
JButton button1,button2;
public static void main(String[] args){
A8_2 example = new A8_2();
}
A8_2(){//重寫建構函式
myPanel = new JPanel();
button1 = new JButton("紅色");
button2 = new JButton("藍色");

button1.addActionListener(this);//這個方法裡面的引數就是你要進行監聽的那個類,在這裡我們監聽的是當前這個類。同樣的,我們也可以監聽其他的類。
button1.setActionCommand("1111");//這裡面的引數是為了區別按鈕的,當存在多個按鈕時,就需要這麼一個方法來區別事件所發生的按鈕。
button2.addActionListener(this);
button2.setActionCommand("2222");
//此外,還可以進行多監聽.需要進行監聽多少個元件,就新增多少元件。
            public void actionPerformed(ActionEvent e){//我們必須來重寫這個方法
if(e.getActionCommand().equals("1111")){//這裡就體現出上面為什麼我們要區分按鈕
myPanel.setBackground(Color.red);
}
if(e.getActionCommand().equals("2222")){
myPanel.setBackground(Color.blue);
}
}
}
在這個程式中,我們會實現一個小功能,也就是通過按鍵來改變皮膚的顏色。從上面的程式碼來看,我們只是使用了元件常見的監聽方法,即addActionListener()。

相關文章