我有这个程序,我需要随机禁用一些按钮,以便用户无法选择所有按钮。有没有办法在java中禁用随机按钮?
我在考虑使用Math.random
,但我不知道如何开始或引用它......
这些是按钮。
JButton but1 = new JButton();
JButton but2 = new JButton();
JButton but3 = new JButton();
JButton but4 = new JButton();
JButton but5 = new JButton();
JButton but6 = new JButton();
JButton but7 = new JButton();
答案 0 :(得分:0)
你可以将它们全部放在一个列表中,然后将列表洗牌并禁用索引0处的元素,例如......
但请注意:
$scope.gridOptions.columnDefs = [
{ name:'address.street', width:150 },
{ name:'address.city', width:150 },
{ name:'address.state', width:50 },
{ name:'address.zip', width:50, pinnedRight: true },
{ name:'company', width:'*' }
];
答案 1 :(得分:0)
将按钮放入List
并迭代它们。使用Random.nextBoolean
确定是启用还是禁用按钮。这将为您提供50/50的分配。如果您需要其他内容,请使用nextInt
和模数。
List<JButton> myButtons = /*whatever*/;
final Random generator = new Random();
for (JButton button : myButtons)
{
button.setEnabled(generator.nextBoolean());
}
这不能保证任何时候都能启用任意数量的按钮。你不清楚这是否重要。
答案 2 :(得分:0)
Array / Vararg Verson:
public JButton getRandomButton(JButton... buttons) {
int index = (int) (Math.random() * buttons.length);
return buttons[index];
}
列表版本:
public JButton getRandomButton(List<JButton> buttons) {
int index = (int) (Math.random() * buttons.size());
return buttons.get(index);
}
这两种方法都会返回一个随机的JButton,供你使用。