Page 784 - 2
P. 784
나 동작 설명.
1) 퍼즐을 실행시키면 9 개의 버튼에 그림이 랜덤으로 들어가고 그림이 들어가지 않은 한 버튼은 비
활성화됨.
2) 비 활성화된 버튼의 상하좌우 버튼을 클릭함.
3) 클릭한 버튼의 그림이 비 활성화된 버튼에 들어감.
4) 비 활성화된 버튼은 활성화되고 눌렀던 버튼은 그림이 사라지며 비 활성화됨.
4. 프로그램 소스
가 기본 프레임과 버튼 설정.
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Puzzle extends JFrame implements ActionListener {
public static void main(String[] args) {
new Puzzle();
}
JButton b1 = new JButton();
JButton b2 = new JButton();
JButton b3 = new JButton();
JButton b4 = new JButton();
JButton b5 = new JButton();
JButton b6 = new JButton();
JButton b7 = new JButton();
JButton b8 = new JButton();
JButton b9 = new JButton();
Puzzle() {
super("Puzzle");
setSize(300, 300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocation(383,94);
makeUI();
setResizable(false);
setVisible(true);
}
나 버튼에 번호값을 중복되지 않게 랜덤으로 넣기.
public void makeUI() {
setLayout(new GridLayout(3, 3));
Random r = new Random();
b1.setEnabled(true);
b2.setEnabled(true);
b3.setEnabled(true);
b4.setEnabled(true);
b5.setEnabled(true);
b6.setEnabled(true);
b7.setEnabled(true);
b8.setEnabled(true);
b9.setEnabled(true);
- 784 -