我有一个用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);
答案 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)。