如何使用e.getActionCommand()从按钮获得点击次数?

时间:2016-02-24 02:17:09

标签: java swing button

我有' n'根据用户的决定,按钮数量。每当我点击我想要的按钮时,它会给我点击它的次数。棘手的是我没有为按钮设置任何名称,用户就是这样做的。所以我的问题是,我如何检查' countAmount'使用e.getActionCommand()是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);
    }
}  

1 个答案:

答案 0 :(得分:2)

  1. 将您的按钮放入ArrayList<JButton>
  2. 按下按钮时,不要担心ActionCommand。
  3. 而是通过在按钮的ActionListener中的ActionEvent参数上调用getSource()来获取对实际按钮本身的引用。
  4. 要找出按下了哪个按钮,请使用for循环遍历按钮的ArrayList。
  5. 找到匹配项后,使用数组列表中按钮的索引增加ArrayList<Integer>
  6. 或者,您只需创建一个HashMap<JButton, Integer>,然后只需递增与源JButton键关联的Integer值。
  7. 如需更详细的解答,请发布真实有效的Minimal, Complete, and Verifiable example计划。