package p0624pizza;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class KeyEventEx extends JFrame {
JPanel contentPane = new JPanel();
ImageIcon[] image = { new ImageIcon("image/dog.png"), new ImageIcon("image/cat.png"),
new ImageIcon("image/goldfish.png"), new ImageIcon("image/lion.gif"), new ImageIcon("image/orange.gif"),
new ImageIcon("image/grape.gif") };
JLabel[] label = new JLabel[6];
JLabel result = new JLabel("시작합니다.");
int x1, x2, x3;
public KeyEventEx() {
setTitle("겜블링 게임");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setContentPane(new GamePanel());
contentPane.setFocusable(true);
contentPane.requestFocus(); // JPanel이 키 입력 받을 수 있도록
setSize(300, 200);
setVisible(true);
contentPane.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == '\n') {
x1 = (int) (Math.random() * 5);
label[0].setText(Integer.toString(x1));
label[3].setIcon(image[x1]);
x2 = (int) (Math.random() * 5);
label[1].setText(Integer.toString(x2));
label[4].setIcon(image[x2]);
x3 = (int) (Math.random() * 5);
label[2].setText(Integer.toString(x3));
label[5].setIcon(image[x3]);
if (x1 == x2 && x2 == x3) {
result.setText("축하합니다!!");
}
else {
result.setText("시작합니다.");
}
}
}
});
add(contentPane);
}
class GamePanel extends JPanel {
public GamePanel() {
setLayout(null);
for (int i = 0; i < label.length; i++) {
if (i < 3) {
label[i] = new JLabel("0");
label[i].setSize(60, 40);
label[i].setLocation(30 + 80 * i, 20);
label[i].setHorizontalAlignment(JLabel.CENTER);
label[i].setOpaque(true);
label[i].setBackground(Color.magenta);
label[i].setForeground(Color.yellow);
label[i].setFont(new Font("Tahoma", Font.ITALIC, 30));
add(label[i]);
} else {
label[i] = new JLabel();
label[i].setIcon(image[0]);
label[i].setSize(60, 40);
label[i].setLocation(30 + 80 * (i - 3), 70);
label[i].setHorizontalAlignment(JLabel.CENTER);
label[i].setOpaque(true);
label[i].setBackground(Color.magenta);
label[i].setForeground(Color.yellow);
label[i].setFont(new Font("Tahoma", Font.ITALIC, 30));
add(label[i]);
}
}
result.setSize(200, 20);
result.setLocation(100, 130);
add(result);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
new KeyEventEx();
}
}
'IT > Java' 카테고리의 다른 글
Java (로또번호생성 프로그램) (0) | 2021.07.07 |
---|---|
Java GUI (피자주문) (0) | 2021.06.24 |
Java GUI (원 넓이 구하기) (0) | 2021.06.21 |
Java (상속_친구정보 등록관리_검색,삭제) (0) | 2021.06.11 |
Java (상속_친구정보 등록관리_저장,출력) (0) | 2021.06.11 |