1
 b1.addActionListener(this);

このステートメントでは、'' キーワードの使用と、' this' キーワードを介して渡される参照は何thisですか? 可能であれば、例を教えてください。

4

2 に答える 2

2

「これ」はこのオブジェクトを意味し、このステートメントを書く場合、クラスが 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");
        }
    }
};
于 2013-07-13T06:18:31.407 に答える