나는 gui에서 주사위를 굴리고 있습니다. 반환 할 (random int 1-6) 숫자가 표시되고 있지만 표시 할 이미지가 표시되지 않습니다. 처음에는 올바른 이미지를 보여 주지만 결코 변경하지 않습니다. 여기에 코드입니다 :JAVA. 주사위 굴림을 인쇄하는 사람
public void layoutComponents()
{
Container container = frame.getContentPane();
container.setLayout(new GridLayout(1, 1));
diceRoll.setEditable(true);
container.add(button);
container.add(addPanel());
//container.add(diceRoll);
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
class DiceActions implements ActionListener
{
@Override
public void actionPerformed(ActionEvent e)
{
layoutComponents();
//diceRoll.append(Double.toString((int)numberRolled));
}
}
public ImageIcon rollDice()
{
double numberRolled = (int)(Math.random() * 10 + 1);
ImageIcon image = dice1;
if (numberRolled > 6)
{
numberRolled -= 4;
}
if(numberRolled == 1)
{
image = dice1;
System.out.println("1");
System.out.println(numberRolled);
return image = dice1;
}
else if(numberRolled == 2)
{
image = dice2;
System.out.println("2");
return image = dice2;
}
else if(numberRolled == 3)
{
image = dice3;
System.out.println("3");
return image = dice3;
}
else if(numberRolled == 4)
{
image = dice4;
System.out.println("4");
return image = dice4;
}
else if(numberRolled == 5)
{
image = dice5;
System.out.println("5");
return image = dice5;
}
else if(numberRolled == 6)
{
image = dice6;
System.out.println("6");
return image = dice6;
}
else
System.out.println("never reached");
System.out.println(numberRolled);
return image;
}
public JPanel addPanel()
{
JPanel panel = new JPanel();
panel.add(new JLabel(rollDice()));
return panel;
}
public void addListeners()
{
DiceActions action = new DiceActions();
button.addActionListener(action);
}
dice1 이미지를 계속 표시합니다. – user1198199
1) 더 빨리 도움을 받으려면 [SSCCE] (http://sscce.org/)를 게시하십시오. 2) 코드 블록에 일관성 있고 논리적 인 들여 쓰기를 사용하십시오. –
GUI 코드가 잘못된 부분을 알려주기를 원하지만 모든 코드를 제공하지는 마십시오. 독자적으로 연구하는 한 가지 방법은 필수 요소로 줄이는 것입니다. 그래도 문제를 찾지 못하면 전체 내용을 게시 할 수있을만큼 작을 것입니다. – arcy