请各位高手帮帮忙,编个JAVA程序(急)!!!!

来源:百度知道 编辑:UC知道 时间:2024/05/09 02:38:13
编写一个游戏程序。创建一个如下的界面;

4 6
2 3 5
9 8 11
7 1 10

使用网格布局:添加12个按钮,每一个按钮都注册动作的监听接口。初始化第一个按钮显示标签为空。其他按钮上的标签随机产生。分别为1—11,当点击按钮时,如果在这个按钮的上、下、左、右中存在着空标签,这将它和这个空标签交换。否则显示出错信息。如:点击标签2的按钮时,界面作变换:

4 6 2 4 6
2 3 5 3 5
9 8 11 → 9 8 11
7 1 10 7 1 10

要求最后将这个界面变成如下图所示的图形,并统计总共点击了多少次。

1 2 3
4 5 6
7 8 9
10 11

我是菜鸟,什么都不懂.请高手帮帮忙写个代码,(6月27日之前要交)我现仅学过 Java语言程序设计(第二版) 最好能在这本书范围内.
_ 4 6
2 3 5
9 8 11
7 1 10

- 4 6
2 3 5
9 8 11
7 1 10

2 4 6
- 3 5
9 8 11
7 1 10

1 2 3
4 5 6
7 8 9
10 11 -

^_^不好意思,刚写错了 更正一下

//主类
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.border.BevelBorder;

public class game extends JFrame {
private static final long serialVersionUID = 342676014673887411L;
private myLabel[] mylabel = new myLabel[12];// 按钮
private Point[] p = new Point[12];// 按钮位置
private myLabel labelTemp;// 上一个被选择的按钮
private static int count;// 总共按了多少下

public game() {
getContentPane().setLayout(new GridLayout(0, 3));
for (int i = 0; i < mylabel.length; i++) {
p[i] = new Point();
if (i < 3) {
p[i].y = 0;
p[i].x = i;
} else if (i < 6) {
p[i]