大家帮忙看看,小弟写的一个简单地事件注册,侦听和处理的程序,调试没问题,出现的结果不对。。。
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class test extends JFrame implements ActionListener{
test()
{
//创建两个按钮
JButton start=new JButton("start");
JButton stop=new JButton("stop");
JFrame mytest =new JFrame();
mytest.setSize(800,640);
mytest.setVisible(true);
Container mycontainer=getContentPane();
FlowLayout layout=new FlowLayout();
mycontainer.setLayout(layout);
mycontainer.add(start);
mycontainer.add(stop);
start.addActionListener(this);
stop.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
if(e.getActionCommand().equals("stop")){
System.out.println("stop");
}
else if(e.getActionCommand().equals("start"))
System.out.println("start");
}
public static void main(String[] args) {
new test();
}
}
Java
类
接口
侦听
------解决方案--------------------加一个mytest.add(mycontainer);试试,或者直接使用JPanel吧
JPanel mypan=gJPanel();
FlowLayout layout=new FlowLayout();
mytest.add(mypan);
ypan.setLayout(layout);
ypan.add(start);
ypan.add(stop);
------解决方案--------------------import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class test extends JFrame implements ActionListener {
/**
*
*/
test() {
// 创建两个按钮
JPanel p=new JPanel();
JButton start = new JButton("start");
JButton stop = new JButton("stop");
JFrame mytest = new JFrame();
p.add(start);
p.add(stop);
mytest.add(p);
mytest.getContentPane().add(p);
mytest.setSize(300,200);
mytest.show();
start.addActionListener(this);
stop.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("stop")) {
System.out.println("stop");
} else if (e.getActionCommand().equals("start"))
System.out.println("start");
}
public static void main(String[] args) {
new test();
}
}
我简单的修改了一下!紧供参考