我在netbeans上自动添加了一个Jbutton框架。 我想将这个Actionlistener添加到一个按钮。
public class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,"hello");
}
我的问题是,当我添加此代码时
jButton2.addActionListener(MyActionListener);
为了将监听器添加到按钮,我得到“非静态变量jButton2不能从静态上下文引用”消息。 由于jButton2是由netbeans自动创建为非静态的,如何解决这个问题并设置actionlistener,我想要?
答案 0 :(得分:0)
错误在于您发送的对象从未实例化过。向任何组件添加动作侦听器时,需要发送实现ActionListener接口的对象。就像在对象中添加侦听器的实例一样。 试试这个:
jButton2.addActionListener(new MyActionListener());
如果您想使用Anonymous实现,那么您将执行:
jButton2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
//some code
}
});
答案 1 :(得分:0)
添加监听器的简单方法就是右键单击设计视图中的按钮,选择
Events -> Action -> actionPerformed
,代码将自动为您生成
public void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// put what you want to happen, here
}