如何将Java中的2D数组打印到Swing/JOptionPane中的窗口

如何将Java中的2D数组打印到Swing/JOptionPane中的窗口,java,arrays,swing,2d,joptionpane,Java,Arrays,Swing,2d,Joptionpane,我真的被难住了。我在JOptionPane中找不到如何将此表打印为窗口(如ShowMessageDialog),就像它在控制台中打印一样 这是我的密码: import javax.swing.JOptionPane; import java.util.*; public class StarWars { public static void main(String[] args) { String [][] gridPlayer = new String [6][6];

我真的被难住了。我在JOptionPane中找不到如何将此表打印为窗口(如ShowMessageDialog),就像它在控制台中打印一样

这是我的密码:

import javax.swing.JOptionPane;
import java.util.*;
public class StarWars {

    public static void main(String[] args) {
        String [][] gridPlayer = new String [6][6];
        Scanner kb = new Scanner (System.in);

        String [] rows = {"A", "B", "C", "D", "E", "F", "G", "H"};

        for (int i = 0; i < 6; i++){
            for (int j = 0; j < 6; j++){

                gridPlayer[i][j] = " ~ ";
            }
        }
        System.out.print("  ");
        for (int i = 0; i < 6; i++){
            System.out.print(" " + rows[i] + " ");
        }
        System.out.println();
        for (int i = 0; i < 6; i++){
            System.out.print(" " + i);
            for (int j = 0; j < 6; j++){
                System.out.print(gridPlayer[i][j]);
            }

            System.out.println();

        }

        JOptionPane.showMessageDialog(null, for (int i));

    }

}
import javax.swing.JOptionPane;
导入java.util.*;
公共级星球大战{
公共静态void main(字符串[]args){
字符串[][]gridPlayer=新字符串[6][6];
扫描仪kb=新扫描仪(System.in);
字符串[]行={“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”};
对于(int i=0;i<6;i++){
对于(int j=0;j<6;j++){
gridPlayer[i][j]=“~”;
}
}
系统输出打印(“”);
对于(int i=0;i<6;i++){
系统输出打印(“+行[i]+”);
}
System.out.println();
对于(int i=0;i<6;i++){
系统输出打印(“+i”);
对于(int j=0;j<6;j++){
System.out.print(gridPlayer[i][j]);
}
System.out.println();
}
showMessageDialog(null,用于(inti));
}
}
如果有人知道如何做到这一点,你的帮助将不胜感激


《星球大战》课程是一项家庭作业;)

有许多可能的方法,这里有一种:您可以使用
StringBuilder
尝试这种方法,并使用html标记将所有内容放入
JLabel

    StringBuilder sb = new StringBuilder();
    sb.append("<html>");

    String [][] gridPlayer = new String [6][6];
    Scanner kb = new Scanner (System.in);

    String [] rows = {"A", "B", "C", "D", "E", "F", "G", "H"};

    for (int i = 0; i < 6; i++){
        for (int j = 0; j < 6; j++){

            gridPlayer[i][j] = " ~ ";
        }
    }
    sb.append("&nbsp&nbsp");
    for (int i = 0; i < 6; i++){
        sb.append(" " + rows[i] + " ");
    }
    sb.append("<br>");
    for (int i = 0; i < 6; i++){
        sb.append(" " + i);
        for (int j = 0; j < 6; j++){
            sb.append(gridPlayer[i][j]);
        }

        sb.append("<br>");

    }
    sb.append("</html>");

    JOptionPane.showMessageDialog(null, new JLabel(sb.toString()));
StringBuilder sb=新建StringBuilder();
某人加上(“”);
字符串[][]gridPlayer=新字符串[6][6];
扫描仪kb=新扫描仪(System.in);
字符串[]行={“A”、“B”、“C”、“D”、“E”、“F”、“G”、“H”};
对于(int i=0;i<6;i++){
对于(int j=0;j<6;j++){
gridPlayer[i][j]=“~”;
}
}
某人附加(“ ”);
对于(int i=0;i<6;i++){
sb.追加(“+行[i]+”);
}
某人追加(“
”); 对于(int i=0;i<6;i++){ 某人附加(“+i”); 对于(int j=0;j<6;j++){ sb.append(gridPlayer[i][j]); } 某人追加(“
”); } 某人加上(“”); showMessageDialog(null,新JLabel(sb.toString());
非常感谢您!