Java 如何使用e.getActionCommand()获取按钮的点击次数?

Java 如何使用e.getActionCommand()获取按钮的点击次数?,java,swing,button,Java,Swing,Button,根据用户的决定,我有n个按钮。每当我点击我想要的按钮时,给我它被点击的次数。棘手的是,我没有为按钮设置任何名称,用户设置了。所以我的问题是,如何使用e.getActionCommand()检查“countAmount”是否为1或更多 我真的被困在这个问题上了,如果有人能帮我,那就太好了!这是我计划的一部分,任何帮助都会很好 private static int countAmount = 0; public Example() { str = JOptionPane.showInput

根据用户的决定,我有n个按钮。每当我点击我想要的按钮时,给我它被点击的次数。棘手的是,我没有为按钮设置任何名称,用户设置了。所以我的问题是,如何使用e.getActionCommand()检查“countAmount”是否为1或更多

我真的被困在这个问题上了,如果有人能帮我,那就太好了!这是我计划的一部分,任何帮助都会很好

private static int countAmount = 0;

public Example()
{
    str = JOptionPane.showInputDialog("What is the name of the new button?"); 
    JButton b18 = new JButton(str);

    //The actionlistener stuff
    countAmount++;

    if (countAmount % 2 != 0)
    { 
        System.out.println(e.getActionCommand() + "was clicked, count is even");
    }
    else
    {
        System.out.println("The button was clicked, count is odd");
    }

    if (countAmount.(e.getActionCommand) == 1)
    {
       System.out.println("This button has been clicked " + countAmount + " times);
    }
}  
  • 将按钮放入
    阵列列表中
  • 按下按钮时,不要担心ActionCommand
  • 相反,通过对按钮的ActionListener中的ActionEvent参数调用
    getSource()
    来获取对实际按钮本身的引用
  • 要找出按下了哪个按钮,请使用for循环遍历按钮的ArrayList
  • 找到匹配项后,使用数组列表中按钮的索引增加
    ArrayList
  • 或者,您可以简单地创建一个
    HashMap
    ,并简单地增加与源JButton键关联的整数值
  • 要获得更详细的答案,请发布一个真实有效的程序

  • @Zizouz212:不,如果他只是数按钮按count,我会用ActionListener来处理这个问题。对于原始海报,如果你创建并发布一个体面的文章,你会更好地为你服务。但要想快速解决,请考虑使用int数组或<代码> HashMap < /代码>来保存所有按钮的计数。是的,但是再次显示更多代码,最好是A,这样我们就可以显示给您!你的代码毫无意义<代码>//actionlistener内容是您需要的全部内容,而您没有显示它。第三次,发布一条..@user1803551:我一直在试图说服他,但是没有用。如果我不知道它的名字,我怎么能在arraylist中找到这个按钮?因为用户正在写入名称。我将编辑更多代码,使其有意义。@D.Maximov:您只需使用一个简单的for循环遍历ArrayList。并明白“名字”在这里并不重要。相反,引用是。那么,getSource()与getActionCommand()类似吗?有什么区别?@D.Maximov:
    getSource()
    返回对启动事件的组件的引用。。。这里,按下JButton时
    getActionCommand()
    返回按钮的actionCommand字符串。您不断添加的代码实际上没有显示问题的本质。如果您希望代码帮助您的问题,请考虑张贴一些严重的代码,再次请阅读我提供的链接,并尝试贴上接近规范的代码。@ D.MeimoVo:这是你从StPoSoad转移到你的编译器并开始玩你的代码的地方。试试看。看看会发生什么。实验。玩