当前位置: 代码迷 >> Java相关 >> [求助]解决疑问----this的使用
  详细解决方案

[求助]解决疑问----this的使用

热度:133   发布时间:2007-07-18 12:13:10.0
[求助]解决疑问----this的使用

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class EventDemo5 extends WindowAdapter implements ActionListener
{
JButton b1 = null;
JButton b2 = null;

public EventDemo5()
{
JFrame f = new JFrame("EventDemo5");
Container contentPane = f.getContentPane();
contentPane.setLayout(new GridLayout(1,2));
b1 = new JButton("按我有声音喔");
b2 = new JButton("按我可开新窗口");
b1.addActionListener(this); //我看过以前的例子,它怎么实现的
b2.addActionListener(this); //我看过以前的例子,它怎么实现的
contentPane.add(b1);
contentPane.add(b2);
f.pack();
f.show();
f.addWindowListener(this); //我看过以前的例子,它怎么实现的
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)//getSource判断哪个按钮被按下了。
Toolkit.getDefaultToolkit().beep();
if(e.getSource()==b2)
{
JFrame newF = new JFrame("新窗口");
newF.setSize(200,200);
newF.show();
}
}

public void windowClosing(WindowEvent e)
{
System.exit(0);
}

public static void main(String args[])
{
new EventDemo5();
}
}

搜索更多相关的解决方案: 疑问  

----------------解决方案--------------------------------------------------------

因为this实现了ActionListener接口


----------------解决方案--------------------------------------------------------
this就代表当前的对象,因为当前的对象已经实现了ActionListener接口,可以当前对象也可以看成是一个ActionListener,所以可以把当前对象传给它
----------------解决方案--------------------------------------------------------
因为this指的就是你刚用new 创建的那个对象,而EventDemo5实现了ActionListener,所以可以直接传。。
----------------解决方案--------------------------------------------------------
  相关解决方案