본문 바로가기

명품자바

[명품자바] 오픈 챌린지 10

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Chapter10 extends JFrame{
	public Chapter10() {
		setTitle("openChallenge 10");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		Container c = getContentPane();
		
		c.add(new GamePanel(), BorderLayout.CENTER);
		
		setSize(600, 400);
		setVisible(true);
	}
	
	static public void main(String [] args) {
		new Chapter10();
	}
}

class GamePanel extends JPanel{
	JLabel lb[] = new JLabel[3];
	JLabel guide;
	
	GamePanel() {
		setLayout(null);
		
		for (int i = 0; i < 3; i++)
		{
			lb[i] = new JLabel("0");
			
			lb[i].setSize(140, 80);
			lb[i].setLocation(50 + i*170, 100);
			lb[i].setOpaque(true);
			lb[i].setHorizontalAlignment(JLabel.CENTER);
			lb[i].setFont(new Font("Arial", Font.ITALIC, 60));
			lb[i].setBackground(Color.GREEN);
			add(lb[i]);
		}
		
		guide = new JLabel("시작합니다.");
		guide.setSize(getPreferredSize());
		
		guide.setSize(300, 40);
		guide.setLocation(230, 250);
		add(guide);
		
		addKeyListener(new game());
		setFocusable(true);
		requestFocus();
	}
	
	private class game extends KeyAdapter {
		public void keyPressed(KeyEvent e) {
			if (e.getKeyChar() == '\n') {
				int x[] = new int [3];
				for (int i = 0; i < 3; i++) 
				{
					x[i] = (int)(Math.random()*5);
					lb[i].setText(Integer.toString(x[i]));

				}
				
				if (x[0] == x[1] && x[1] == x[2])
					guide.setText("축하합니다!!");
				else
					guide.setText("아쉽군요");
			}
		}
	}
}

'명품자바' 카테고리의 다른 글

[명품자바] 오픈 챌린지 6  (0) 2024.06.10
[명품자바] 오픈 챌린지 5  (0) 2024.06.10
[명품자바] 오픈 챌린지 4  (0) 2024.06.10
[명품자바] 오픈 챌린지 3  (0) 2024.06.10
[명품자바] 오픈 챌린지 9  (0) 2024.06.09