限制JButton可以点击的次数?

时间:2014-11-04 19:35:11

标签: java jbutton dice

我有一个用Java编写的骰子程序,通过单击"滚动"滚动5个骰子。按钮。

我试图制作按钮,以便在点击3次后,它会被禁用,除非它被关闭并重新打开,否则无法点击。

谢谢!

topPanel.add(button1);
int i = 0;
button1.setToolTipText("Click this button to roll the dice.");
button1.setForeground(Color.red);
button1.setContentAreaFilled(false);
button1.setFocusPainted(false);
button1.setBorderPainted(false);
if (i >= 3) {
  button1.setEnabled(false);
} else {

  i++;
}
button1.setFont(new Font("Arial", Font.BOLD, 15));
button1.setPreferredSize(new Dimension(40, 25));
button1.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent event) {
          die1.roll();
          die1.draw(dk);
          die2.roll();
          die2.draw(dk);
          die3.roll();
          die3.draw(dk);
          die4.roll();
          die4.draw(dk);
          die5.roll();
          die5.draw(dk);

5 个答案:

答案 0 :(得分:1)

在你的类体中声明一个变量,

int counter = 0;

//在按钮点击事件

counter = counter + 1;


 if((counter > 0) && (counter < 3){

//您的程序逻辑来到这里

}

if(counter >= 3){

 button.setEnabled = false;

 Toast.makeText(activityname,"Restart the game", TOAST.LENGTH_LONG).show();

}

答案 1 :(得分:0)

制作一个柜台。一个变量,其起始值为零,每次单击按钮时都会递增。

答案 2 :(得分:0)

您可以创建一个变量来计算按下该按钮的次数。 你创建了变量where int。

在按钮侦听器内部,您将该变量递增1(或任何您想要的)

最后,当计数器到达您想要的号码时,您会设置一个禁用按钮的条件。

答案 3 :(得分:0)

使用变量和if条件 在外面声明变量

int i=0;

内部按钮操作执行事件

if(i>=3){
  button.setEnabled(false);
}else{
  // do anything
}
i++;

将代码移到事件之外

    int i = 0;

    topPanel.add(button1);
    button1.setToolTipText("Click this button to roll the dice.");
    button1.setForeground(Color.red);
    button1.setContentAreaFilled(false);
    button1.setFocusPainted(false);
    button1.setBorderPainted(false);

    button1.setFont(new Font("Arial", Font.BOLD, 15));
    button1.setPreferredSize(new Dimension(40, 25));
    button1.addActionListener(new ActionListener() {
          public void actionPerformed(ActionEvent event) {

if (i >= 3) {
      button1.setEnabled(false);
    } else {

              die1.roll();
              die1.draw(dk);
              die2.roll();
              die2.draw(dk);
              die3.roll();
              die3.draw(dk);
              die4.roll();
              die4.draw(dk);
              die5.roll();
              die5.draw(dk);
    }
i++;
}

答案 4 :(得分:0)

利用一个初始化为零的计数器,并在该按钮的actionListener内增加。每次单击按钮后,检查计数器值是否小于预定限制。如果达到限制,则在按钮对象上调用setEnabled(false)。