gpt4 book ai didi

Java GUI - 从数组中获取随机值

转载 作者:行者123 更新时间:2023-12-01 13:18:37 25 4
gpt4 key购买 nike

所以我有这个二维按钮数组和图像数组。我想获取按钮上的图像,但我希望每次程序启动时图像都位于随机按钮上。像这样:What I want it to look like 。现在,当我制作新的 JButton 时,我只能通过更改图标的值来使所有按钮上显示一种颜色。我认为我需要做的是将 Math.Random() 设置为一个变量,并从图像数组中获取随机值,然后将该变量放入 icons[] 当我声明新的 JButton 时,但我不知道这是否正确,也不知道该怎么做。我做了一些搜索并尝试使用这个:

var randomValue = icons[Math.floor(Math.random() * icons.length)];

但我收到一条错误消息

possible loss of precision, required int, found double.

帮助将不胜感激。如果您希望我发布整个代码,请告诉我。

// 2D Array of buttons
buttons = new JButton[8][8];
for(int row=0; row<8; row++)
{
for (int col=0; col<8; col++)
{
buttons[row][col] = new JButton(icons[0]);
buttons[row][col].setLocation(6+col*70, 6+row*70);
buttons[row][col].setSize(69,69);

getContentPane().add(buttons[row][col]);
}
}

// Array of images
public static ImageIcon[] icons = {new ImageIcon("RedButton.png"),
new ImageIcon("OrangeButton.png"),
new ImageIcon("YellowButton.png"),
new ImageIcon("GreenButton.png"),
new ImageIcon("BlueButton.png"),
new ImageIcon("LightGrayButton.png"),
new ImageIcon("DarkGrayButton.png")};

最佳答案

我可以通过将所有 ImageIcons 放入 ArrayList 中,调用 java.util.Collections.shuffle(...) 来大大简化这一过程。 ArrayList 上,然后按顺序从打乱的 ArrayList 中传递出 ImageIcons。或者,如果您的按钮允许重复图标,则使用 java.util.Random 变量,例如 random只需调用 random.nextInt(icons.length)获取数组的随机索引。

顺便说一句,为了您自己的利益,请不要使用空布局和绝对定位。您的 JButtons 网格请求保存在使用 JPanel 的 GridLayout 中。乞讨。

<小时/>

顺便说一句,您为什么在同一项目上发布问题但使用不同的名称?您在此处的其他两篇帖子中都有相似的帖子,但用户名不同:

关于Java GUI - 从数组中获取随机值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22239263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com