当前位置: 首页 > 知识库问答 >
问题:

如何随机设置按钮的图像?

相诚
2023-03-14

我正在试着做记忆游戏。我有12个按钮和6个图像。

我想随机设置图像到按钮。一个图像到2个按钮。

ImageIcon[] icons = {icon1,icon2,icon3,icon4,icon5,icon6};
JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16;

我知道这个Random r=new Random();但是不知道如何在这里使用它。

编辑:

你用过这个吗

for (int i = 0; i < buttons.length; i++)
buttons[i].setIcon( iconList.get(i) );

如何设置此图标的可见(假)之类的内容?

共有1个答案

邓昊天
2023-03-14

不要为按钮指定12个不同的变量名称。相反,创建一个数组来保存您的12个按钮。

使用ArrayList包含12个图标(每个图像两个)。

然后您可以使用shuffle(…) ArrayList的code>方法对图标进行随机排序。

然后创建一个循环,将每个图标指定给一个按钮。比如:

for (int i = 0; i < buttons.length; i++)
    buttons[i].setIcon( iconList.get(i) );

编辑:

上面的建议是在创建按钮时为按钮指定图标。

如果你有一个游戏,你有一个空的图标,然后你显示图标时,按钮被点击,那么你需要一个不同的方法。

在ActionListener代码中,您需要搜索按钮数组以查看单击了哪个按钮。获得此按钮的索引后,将获得匹配的图标:

JButton button = (JButton)event.getSource();

for (int i = buttons.length; i < buttons.length;i++)
{
    if (button = buttons[i];
    {
        button.setIcon( iconList.get(i) );
        break;
    }
}

相同的ActionListener可用于所有按钮,因为逻辑是通用的。

 类似资料:
  • 问题内容: 我将按钮放在带有GridLayout的JPane中。然后,我使用BoxLayout.Y_AXIS将JPanel放入另一个JPanel中。我希望GridLayout中的按钮为正方形。我使用tmp.setSize(30,30),它不起作用。我也尝试使用,但我不知道X和Y是什么。那么,做这些东西的正确方法是什么? 添加: 我仍然无法解决问题。这是我正在尝试执行的代码: 问题是Java试图使宽

  • 问题内容: 我正在使用以下代码创建 我在路径中有一个图像设置为按钮的背景。如何以编程方式将其设置为? 问题答案: 为可绘制文件夹中的按钮设置背景图像,然后使用以下代码

  • 在我的活动中,我有一个listview和一个按钮。每一个都有各自的目的。 我的listview显示另一个活动中的项目详细信息。 问题是如何在相同的活动中为按钮实现onClickListener?

  • 我正在创建一个google maps应用程序,我如何使用JavaScript/HTML5创建一个按钮,在地图上的任何地方随机投下一个标记呢?

  • 问题内容: 我正在尝试使用以下代码设置按钮文本: 这是我的FXML: 但这行不通,我不明白为什么,还有其他人知道如何使用JavaFX设置按钮文本吗?>。>; 我觉得JavaFX不像Swing那样简单…但是无论如何,有人知道我在做什么错吗?另外,有没有人知道有什么资源可以学习FXML?我喜欢FXML而不是用Java进行编码,但是似乎没有太多的东西,我是否是世界上唯一喜欢FXML而不是JavaFX G