我是编写一个图形界面,上面有一个按钮,向点击这个按钮响应某些事件,但是有个问题,就是程序中myButton.addActionListener()的括号里面不知道该放什么?谢谢大家
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.event.*;
public class event implements ActionListener {
static JFrame aWindow = new JFrame( "My First Window ! ") ;
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
public static void main(String[] args) {
JButton myButton = new JButton( "First ") ;
aWindow.setBounds(100, 100, 200, 200) ;
aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
Container pane1 = aWindow.getContentPane() ;
pane1.setLayout(null) ;
myButton.setBounds(0, 0, 100, 100) ;
pane1.add(myButton) ;
myButton.addActionListener(); //就是这一句
aWindow.setVisible(true) ;
}
}
------解决方案--------------------
myButton.addActionListener(new event());
实现监听接口的对象 就可以 了
------解决方案--------------------
怎么可能加this
看看代码
是在static 方法里面 是没有this 引用的
------解决方案--------------------
我对你的程序作了一些改进,你自己看一下;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;
import java.awt.event.*;
public class event implements ActionListener {
private JFrame aWindow;
private JButton myButton;
static JTextField jf;
Container pane;
public static void main(String[] args)
{
event et=new event();
et.go();
}
void go()
{
aWindow = new JFrame( "My First Window ! ") ;
myButton = new JButton( "First ") ;
jf=new JTextField(30);
aWindow.setBounds(100, 100, 200, 200) ;
aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE );
pane=aWindow.getContentPane();
pane.add(myButton);
pane.add(jf);
myButton.setBounds(0, 0, 100, 100) ;
myButton.addActionListener(this); //就是这一句
aWindow.setVisible(true);
}
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
this.jf.setText( "my EventListener ");
}
}