b1.addActionListener(this);
處理這種說法有什麼用「this
」關鍵字,什麼參考將通過「this
」關鍵字傳遞的?如果可能,請讓我知道例子。使用`this`關鍵字的同時實施事件在Java中
b1.addActionListener(this);
處理這種說法有什麼用「this
」關鍵字,什麼參考將通過「this
」關鍵字傳遞的?如果可能,請讓我知道例子。使用`this`關鍵字的同時實施事件在Java中
「這」是指該對象,如果你寫這個說法就意味着你的類實現的ActionListener
例如:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class test extends JFrame implements ActionListener {
JButton someButton;
test() {
// create the button
someButton = new JButton();
// add it to the frame
this.add(someButton);
// adding this class as a listener to the button, if button is pressed
// actionPerformed function of this class will be called and an event
// will be sent to it
someButton.addActionListener(this);
}
public static void main(String args[]) {
test c = new test();
c.setDefaultCloseOperation(EXIT_ON_CLOSE);
c.setSize(300, 300);
c.setVisible(true);
c.setResizable(false);
c.setLocationRelativeTo(null);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource() == someButton)
{
JOptionPane.showMessageDialog(null, "you pressed somebutton");
}
}
};
this referes到對象的當前實例。
說你的班級A
實施ActionListener
。那麼從你的類中如果你添加了監聽器,那麼你可以使用這個,至於繼承規則你的類也是一個監聽器。
class A implements ActionListener{
Button b;
A(){
b1 = new Button();
b1.addActionListener(this);
}
}
,這是這裏使用,因爲currentobject也是動作監聽
http://stackoverflow.com/questions/3124126/java-addactionlistenerthis 可能重複的問題 – leigero
@leigero看準你的問題,不要在發佈帖子時使用聊天快捷方式,下次使用詞彙。 –
sure.i將不會使用 – ShyamD