gpt4 book ai didi

java - 根据随机数生成器在 GUI 中显示不同的图像

转载 作者:行者123 更新时间:2023-12-01 23:07:36 24 4
gpt4 key购买 nike

我对编程非常陌生,我完全迷失在这个家庭作业中。任务是有一个显示两个不同骰子的图形用户界面。当我单击按钮时,随机数生成器应该会出现不同的骰子图像。当我没有任何“if”语句时,我可以显示我的图像,这样我就知道该路径正在工作。当我添加“if”语句来为其中一个骰子分配图像时,我收到一条错误消息,指出它找不到符号。由于这在静态分配图标时有效,因此我认为是“if”语句导致了问题,但它可能会返回到随机数。请告诉我我做错了什么。附加的代码只有左侧模具的非工作代码。

private class ButtonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{

Random randomNumbers = new Random(); // Generates random numbers
int valLeft; // holds random number
int valRight; // holds random number

// get values for the dice
valLeft = randomNumbers.nextInt(6)+1; // range 1-6
valRight = randomNumbers.nextInt(6)+1; // range 1-6

// assign the image for the left die
if (valLeft==1)
{
ImageIcon leftDie = new ImageIcon("Die1.png");
}
if (valLeft==2)
{
ImageIcon leftDie = new ImageIcon("Die2.png");
}
if (valLeft==3)
{
ImageIcon leftDie = new ImageIcon("Die3.png");
}
if (valLeft==4)
{
ImageIcon leftDie = new ImageIcon("Die4.png");
}
if (valLeft==5)
{
ImageIcon leftDie = new ImageIcon("Die5.png");
}
if (valLeft==6)
{
ImageIcon leftDie = new ImageIcon("Die6.png");
}


// put image on label
imageLabelLeft.setIcon(leftDie);

// assign the image for the right die
ImageIcon rightDie = new ImageIcon("Die6.png");
imageLabelRight.setIcon(rightDie);

// remove the text from the labels
imageLabelLeft.setText(null);
imageLabelRight.setText(null);

// repack the frame for the new images
pack();

}
}

最佳答案

您面临范围问题,leftDie 范围仅限于 if block ,因此,请将 ImageIcon leftDie == 移出您的 if声明。更改此代码:

    if (valLeft==1)
{
ImageIcon leftDie = new ImageIcon("Die1.png");
}

喜欢这个:

    ImageIcon leftDie = null;
if (valLeft==1)
{
leftDie = new ImageIcon("Die1.png");
}

这应该有效。

关于java - 根据随机数生成器在 GUI 中显示不同的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22523040/

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