대학교 수업/Java 프로그래밍

[Java] 명품 자바 프로그래밍 10장 Open Challenge

Jongung 2022. 10. 11. 20:30
import java.awt.*;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.*;

class Challenge10 extends JFrame{
    Challenge10(){
        setTitle("Open Challenge 10");
        setDefaultCloseOperation(3);
        Container c = getContentPane();
        c.setLayout(null);
        JLabel labels[] = new JLabel[3];
        JLabel result = new JLabel("시작합니다.");
        result.setSize(200, 20);
        result.setLocation(180, 250);
        this.addKeyListener(new KeyAdapter() {
            @Override
            public void keyPressed(KeyEvent e) {
                super.keyPressed(e);
                int a = (int)(Math.random() * 5);
                int b = (int)(Math.random() * 5);
                int c = (int)(Math.random() * 5);
                labels[0].setText(Integer.toString(a));
                labels[1].setText(Integer.toString(b));
                labels[2].setText(Integer.toString(c));
                if(e.getKeyChar() == '\n'){
                    if(a == b && b == c){
                        result.setText("축하합니다.");
                    }
                    else {
                        result.setText("아쉽군요ㅠ");
                    }
                }
            }
        });
        for(int i = 0; i < 3; i++) {
            labels[i] = new JLabel("0");
            labels[i].setLayout(new BorderLayout());
            labels[i].setBackground(Color.MAGENTA);
            labels[i].setOpaque(true);
            labels[i].setSize(60, 50);
            labels[i].setForeground(Color.YELLOW);
            labels[i].setLocation(800 * i / 10 + 80, 100);
            c.add(labels[i]);
        }
        c.add(result);

        setSize(400, 300);
        setVisible(true);
        setFocusable(true);
        requestFocus();
    }

    public static void main(String args[]){
        new Challenge10();
    }
}

성공

 

실패