簡體   English   中英

在JFrame板上鏡像2D陣列

[英]Mirror a 2d array on a JFrame Board

我正在創建一個棋盤游戲,其中n×n棋盤(在此示例中為5 x 5)在每個單元格中包含隨機字母。 這些字母是從一個字符串數組中隨機選擇的,並且有一個2d的按鈕數組,用於將2d隨機選擇的字母數組(作為字符串)的for循環之后的按鈕放到JFrame中。 下面程序的目的是顯示5 x 5的按鈕板,該按鈕不起作用。 對於解決此問題的任何幫助或說明,我將非常感謝。

package com.content;

import javax.swing.*;
import java.awt.Dimension;

public class WordDisplay {
   static int random;
   static JFrame frame = new JFrame("WordMatch");

   public static void newFrame() {
      frame.setSize(new Dimension(800, 600));
      //frame.setLayout(new GridLayout(3, 2));
      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      frame.setVisible(false);
   }

   public static void fillFrame(){


      String[] Letters = {"a","b","c","d","e","f","g", 
                          "h","i","j","k","l","m","n",
                          "o","p","q","r","s","t","u",
                          "v","w","x","y","z"};

      JButton[][] buttons = new JButton[5][5];
      for (int r = 0;r<5;r++){
          for (int c = 0;c<5;c++){
              buttons[r][c] = new JButton("");
          }
      }
      String[][] Board = new String[5][5];
      for (int r = 0;r<5;r++){

         for (int c = 0;c<5;c++){

            random  = (int)(Math.random() * 25);
            Board[r][c] = Letters[random];
            buttons[r][c].setText(Board[r][c]);

            System.out.print(Board[r][c]);

            frame.add(buttons[r][c]);

          }
      }
   }

   public static void main(String args[]){

      newFrame();
      fillFrame();
      frame.setVisible(true);
   }
}

(對不起,任何代碼格式問題)

基本上,當您具有2D數組並想要對其進行鏡像時,基本上應該執行以下操作:

for(int x=0;x<array.length;x++){
    for(int y=0;y<array[x].length;y++){
        array[x][y]=array[(array[x].length)-x][y]
    }
}

如果您可以更具體地解決代碼問題,那么我應該可以提供更多幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM