jButton只对第二次单击作出响应(Netbeans 6.9.1,Java)
我有一个恼人的问题,我似乎不明白in是从哪里来的。我有一个应用程序和一个简单的UI。问题是,当我运行程序时,按钮只响应第二次单击。在他们做了他们必须做的事情之后,按钮对第一次点击做出响应。我真的不知道问题的根源是什么。以下是绑定jButton和actionlistener的一些源代码:jButton只对第二次单击作出响应(Netbeans 6.9.1,Java),java,netbeans,jbutton,Java,Netbeans,Jbutton,我有一个恼人的问题,我似乎不明白in是从哪里来的。我有一个应用程序和一个简单的UI。问题是,当我运行程序时,按钮只响应第二次单击。在他们做了他们必须做的事情之后,按钮对第一次点击做出响应。我真的不知道问题的根源是什么。以下是绑定jButton和actionlistener的一些源代码: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jButton1.addActionListener(new SolutionListener());
}
下面是actionlistener本身(如果有帮助的话):
私有类ListListener实现ActionListener{
已执行的公共无效操作(操作事件e){
jTextArea1.setText(空);
if(jTextField2.getText().equals(“”){
jTextArea1.append(“输入值”);
}
否则{
对于(int i=2;i您不应该在actionPerformed()代码中向按钮添加ActionLIstener(我根本不知道它是如何工作的)
您的程序中必须有两个侦听器。另外,由于每次按下按钮时都会添加第二个侦听器,因此事件代码将执行多次,因为您一直在添加新的侦听器
有关更多帮助,请发布一篇演示该问题的文章。几行代码没有向我们展示GUI是如何构建的。如果您尝试以下方法:
jButton1.addActionListener(new ActionListener () {
public void actionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("outside Action");
jButton1.addActionListener(new ActionListener () {
public void actionPerformed(java.awt.event.ActionEvent evt2) {
System.out.println("inside Action");
}
});
}
});
一键单击将打印“外部操作”,第二键单击将打印“内部操作”。
每个JButton只需要一个ActionListener
jButton1.addActionListener(new ActionListener () {
public void actionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("outside Action");
jButton1.addActionListener(new ActionListener () {
public void actionPerformed(java.awt.event.ActionEvent evt2) {
System.out.println("inside Action");
}
});
}
});