*********************关于随机函数,附代码,up有份!************************
package sxh;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SlidingPuzzle {
public static void main(String[] args) {
PuzzleFrame frame = new PuzzleFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
}
class PuzzleFrame extends JFrame {
public PuzzleFrame() {
setTitle("Puzzle");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
PuzzlePanel panel = new PuzzlePanel();
contentPane.add(panel);
}
public static final int WIDTH = 220;
public static final int HEIGHT = 220;
}
class NewButton extends JButton {
public int num;
public NewButton(String s,int n) {
super(s);
num=n;
}
}
class PuzzlePanel extends JPanel {
JButton[] button = { new NewButton("1",1),new NewButton("2",2),new NewButton("3",3),
new NewButton("4",4),new NewButton("5",5),new NewButton("6",6),
new NewButton("7",7),new NewButton("8",8),new NewButton("9",9),
new NewButton("10",10),new NewButton("11",11),new NewButton("12",12),
new NewButton("13",13),new NewButton("14",14),new NewButton("15",15),
new NewButton("",16)};
private int i;
private JPanel panel;
public PuzzlePanel() {
setLayout(new BorderLayout());
panel = new JPanel();
panel.setLayout(new GridLayout(4,4,1,1));
//String move=new String();
for(int i=0;i<button.length;i++){
panel.add(button[i]);
button[i].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
NewButton b=(NewButton)e.getSource();
if ((b.num-1-4)>=0) {
if (button[b.num-1-4].getText().equals("")) {
button[b.num-1-4].setText(button[b.num-1].getText());
button[b.num-1].setText("");
}
}; //move=up;
if ((b.num-1-1)>=0) {
if (button[b.num-1-1].getText().equals("")) {
button[b.num-1-1].setText(button[b.num-1].getText());
button[b.num-1].setText("");
}
}; //move=left;
if ((b.num-1+1)<=button.length-1) {
if (button[b.num-1+1].getText().equals("")) {
button[b.num-1+1].setText(button[b.num-1].getText());
button[b.num-1].setText("");
}
}; //move=right;
if ((b.num-1+4)<=button.length-1) {
if (button[b.num-1+4].getText().equals("")) {
button[b.num-1+4].setText(button[b.num-1].getText());
button[b.num-1].setText("");
}
}; //move=down;
}
});
}
add(panel);
}
}
怎样才能随机排列按钮上的数字!
谢谢!