작은 슬롯 머신을 만들려고합니다. 5 개의 JPanel
을 사용 중입니다. JPanel
중 네 개는 사각형, 원형 및 타원형과 같은 임의의 모양을 유지합니다. JPanel
네 개 모두가 사각형을 표시하면 다섯 번째 JPanel
에 JackPot
이 표시되고 다른 조합이 표시되면 다섯 번째 JPanel
에 다시 말하십시오. 내가 겪고있는 문제는 사용자가이기거나 잃을 때 다섯 번째 JPanel
메시지를 표시하는 것입니다. 난 무작위로 JPanel
s의 모양을 그릴 수 있지만 내가 가지고있는 문제는 특정 JPanel
페인트 방법을 그리는 만들고있다. 코드를 실행하면 임의의 모양이 모든 JPanel
에 나타나지만 모양이 모두 5 개가 아닌 4 개의 JPanel
에 표시되기를 원합니다.Java의 다른 JPanels에서 임의의 모양을 그리는 방법
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class JackPot extends JPanel {
public JackPot(Color backColor) {
setBackground(backColor);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Random gen = new Random();
int a = gen.nextInt(10);
if (a <= 3) {
g.drawOval(20,20,25,25);
} else if (a > 3 && a <= 6) {
g.drawRect(20,20,25,10);
} else {
g.drawOval(20,20,20,10);
}
}
public static void main(String[] args) {
JFrame GUI = new JFrame();
GUI.setTitle("JackPot");
GUI.setSize(500, 400);
Container pane = GUI.getContentPane();
pane.setLayout(new GridLayout(5, 1));
JackPot panel = new JackPot(Color.red);
JackPot panel2 = new JackPot(Color.white);
JackPot panel3 = new JackPot(Color.yellow);
JackPot panel4 = new JackPot(Color.green);
JackPot panel5 = new JackPot(Color.pink);
pane.add(panel);
pane.add(panel2);
pane.add(panel3);
pane.add(panel4);
pane.add(panel5);
GUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GUI.setVisible(true);
}
}
1) 코드 블록에 일관되고 논리적 인 들여 쓰기를 사용하십시오. 코드의 들여 쓰기는 사람들이 프로그램 흐름을 이해하도록 돕기위한 것입니다. 2) 빈칸 한 줄의 공백은 소스 코드에서 항상 * 충분합니다. '{'또는'}'앞의 공백 행은 일반적으로 중복됩니다. –
피어 검토를 위해 수정 된 고정 코드 서식 –