Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jButton只对第二次单击作出响应(Netbeans 6.9.1,Java)_Java_Netbeans_Jbutton - Fatal编程技术网

jButton只对第二次单击作出响应(Netbeans 6.9.1,Java)

jButton只对第二次单击作出响应(Netbeans 6.9.1,Java),java,netbeans,jbutton,Java,Netbeans,Jbutton,我有一个恼人的问题,我似乎不明白in是从哪里来的。我有一个应用程序和一个简单的UI。问题是,当我运行程序时,按钮只响应第二次单击。在他们做了他们必须做的事情之后,按钮对第一次点击做出响应。我真的不知道问题的根源是什么。以下是绑定jButton和actionlistener的一些源代码: private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {

我有一个恼人的问题,我似乎不明白in是从哪里来的。我有一个应用程序和一个简单的UI。问题是,当我运行程序时,按钮只响应第二次单击。在他们做了他们必须做的事情之后,按钮对第一次点击做出响应。我真的不知道问题的根源是什么。以下是绑定jButton和actionlistener的一些源代码:

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");
                }
            });
        }
   });