Java 如何使用JPanel上的随机按钮进行游戏滑动拼图?
今天,我在IDE Netbean中使用java创建了游戏滑动拼图。我还创建了3*3行和col图片,用于设置按钮上的图像。我只能在jpanel中创建索引的按钮序列。我怎样才能随机定位按钮和图片,但要确保它记得的位置在面板的图片匹配。我怎么知道它赢了?如果我的信息不够,请问我更多Java 如何使用JPanel上的随机按钮进行游戏滑动拼图?,java,algorithm,swing,jpanel,jbutton,Java,Algorithm,Swing,Jpanel,Jbutton,今天,我在IDE Netbean中使用java创建了游戏滑动拼图。我还创建了3*3行和col图片,用于设置按钮上的图像。我只能在jpanel中创建索引的按钮序列。我怎样才能随机定位按钮和图片,但要确保它记得的位置在面板的图片匹配。我怎么知道它赢了?如果我的信息不够,请问我更多 position = new int[row][col]; lstBtn = new JButton[row][col]; count = new int[row
position = new int[row][col];
lstBtn = new JButton[row][col];
count = new int[row * col];
panelContainer.setLayout(null);
panelContainer.setLayout(new GridLayout(row, col));
BufferedImage img;
int numCount = 0;
int posNum=0;
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
position[i][j] = posNum++;
if (i == 0 & j == 0) {
lstBtn[i][j] = new JButton();
lstBtn[i][j].setBackground(Color.WHITE);
lstBtn[i][j].setBorderPainted(false);
panelContainer.add(lstBtn[i][j], numCount);
count[0] = numCount;
} else {
numCount++;
lstBtn[i][j] = new JButton();
lstBtn[i][j].addActionListener(this);
// img = image_cutting.getSubImage(j,i);//160, 116 //120, 87,
// lstBtn[i][j].setIcon(new ImageIcon(img.getScaledInstance(160, 116, BufferedImage.SCALE_SMOOTH)));
lstBtn[i][j].setHorizontalTextPosition(JButton.CENTER);
lstBtn[i][j].setVerticalTextPosition(JButton.CENTER);
lstBtn[i][j].setFont(new Font("Dialog",2,20));
lstBtn[i][j].setForeground(Color.BLUE);
lstBtn[i][j].setText("" + numCount);
panelContainer.add(lstBtn[i][j], numCount);
lstBtn[i][j].setVisible(true);
System.out.println(numCount);
}
if (numCount == 0) {
continue;
}
count[numCount] = numCount;
}
}
position=newint[row][col];
lstBtn=新的JButton[行][列];
计数=新整数[行*列];
panelContainer.setLayout(空);
setLayout(新的网格布局(行、列));
缓冲图像img;
int numCount=0;
int posNum=0;
对于(int i=0;i|
那么你是在问如何给按钮一个随机位置?请澄清您的问题。是的,我想要jbutton随机位置创建您自己的Buttonobject/Panelobject,其中包含面板、当前位置和原始位置。将所有对象设置为原始位置(一个位置为空,根据您的首选设计,您可能希望该位置也作为带有空按钮的对象)。为了确保你能赢,只需做几个合法的随机动作。为了检查,如果你赢了,请将每个位置与原始位置进行比较。因此,这可能与我现在所做的相差很远。你知道如何在java中生成随机数吗?