【发布时间】:2013-10-01 19:40:40
【问题描述】:
似乎我完全不明白这些东西是如何工作的......我有一个扩展 JPanel 并实现 Actionlistener 的类,然后我想将它添加到扩展 JFrame 的类中......我不能让它工作.....
public class testPanel extends JFrame implements ActionListener{
JButton someBtn;
public testPanel(JButton someBtn){
this.someBtn = someBtn;
add(someBtn);
someBtn.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e){
if(e.getSource() == someBtn)
System.out.println("this worked");
}
}
二级文件
public class JavaApplication3 extends JFrame{
/**
* @param args the command line arguments
*/
JButton button;
public JavaApplication3(){
super("blah");
JFrame p = new testPanel(button);
add(p);
pack();
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
// TODO code application logic here
new JavaApplication3();
}
}
【问题讨论】:
-
你还没有初始化按钮实例变量...
-
通常你会想要包含你得到的实际错误。
-
你的例子不能工作,这两个类都是从 JFrame 扩展而来的
标签: java swing actionlistener