在 JFrame 板上镜像一个二维数组
Mirror a 2d array on a JFrame Board
我正在创建一个棋盘游戏,其中 n x n 棋盘(本例中为 5 x 5)在每个单元格中包含随机字母。这些字母是从字符串数组中随机选择的,并且有一个二维按钮数组可以将它们放入 JFrame 中,然后是随机选择的二维字母数组(作为字符串)的 for 循环。下面程序的目的是显示一个 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);
}
}
(对于任何代码格式问题,我们深表歉意)
基本上,当你有一个二维数组并且你想镜像它时,你应该做的基本上是这样的:
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]
}
}
如果您能更具体地说明您的代码问题,我应该能够提供更多帮助...
我正在创建一个棋盘游戏,其中 n x n 棋盘(本例中为 5 x 5)在每个单元格中包含随机字母。这些字母是从字符串数组中随机选择的,并且有一个二维按钮数组可以将它们放入 JFrame 中,然后是随机选择的二维字母数组(作为字符串)的 for 循环。下面程序的目的是显示一个 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);
}
}
(对于任何代码格式问题,我们深表歉意)
基本上,当你有一个二维数组并且你想镜像它时,你应该做的基本上是这样的:
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]
}
}
如果您能更具体地说明您的代码问题,我应该能够提供更多帮助...