Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用JPanel上的随机按钮进行游戏滑动拼图?_Java_Algorithm_Swing_Jpanel_Jbutton - Fatal编程技术网

Java 如何使用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

今天,我在IDE Netbean中使用java创建了游戏滑动拼图。我还创建了3*3行和col图片,用于设置按钮上的图像。我只能在jpanel中创建索引的按钮序列。我怎样才能随机定位按钮和图片,但要确保它记得的位置在面板的图片匹配。我怎么知道它赢了?如果我的信息不够,请问我更多

     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中生成随机数吗?