Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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 显示多个System.out.print';它在一个工作窗格中?_Java_Swing_Loops_Joptionpane - Fatal编程技术网

Java 显示多个System.out.print';它在一个工作窗格中?

Java 显示多个System.out.print';它在一个工作窗格中?,java,swing,loops,joptionpane,Java,Swing,Loops,Joptionpane,我几周前才开始学习Java,所以我还是个新手。我目前正在开发一款TictaToe游戏,我刚刚完成,但我希望它显示在JOptionPane消息上,而不是将我的棋盘显示为System.out.print,以提高它的美感。然而,我的电路板完全是由循环组成的,我不知道如何在JOptionPane上显示它:(我曾尝试在网上研究类似的情况,但我发现所有东西都很混乱,或者似乎不适用于我正在打印的语句。如果有人能帮我解决,我将不胜感激 public static void showBoard(char[][]

我几周前才开始学习Java,所以我还是个新手。我目前正在开发一款TictaToe游戏,我刚刚完成,但我希望它显示在JOptionPane消息上,而不是将我的棋盘显示为System.out.print,以提高它的美感。然而,我的电路板完全是由循环组成的,我不知道如何在JOptionPane上显示它:(我曾尝试在网上研究类似的情况,但我发现所有东西都很混乱,或者似乎不适用于我正在打印的语句。如果有人能帮我解决,我将不胜感激

public static void showBoard(char[][] brd)
{

    int numRow = brd.length;
    int numCol = brd[0].length;


    System.out.println();

    // This is the column
    System.out.print("    ");
    for (int i = 0; i < numCol; i++)
      System.out.print(i + "   ");
    System.out.print('\n');

    System.out.println(); // blank line after the header

    // The write the table
    for (int i = 0; i < numRow; i++) {
      System.out.print(i + "  ");
      for (int j = 0; j < numCol; j++) {
        if (j != 0)
          System.out.print("|");
        System.out.print(" " + brd[i][j] + " ");
      }

      System.out.println();

      if (i != (numRow - 1)) {
        // separator line
        System.out.print("   ");
        for (int j = 0; j < numCol; j++) {
          if (j != 0)
            System.out.print("+");
          System.out.print("---");
        }

        System.out.println();
      }
    }
    System.out.println();
}
publicstaticvoid展示板(char[]brd)
{
int numRow=brd.length;
int numCol=brd[0]。长度;
System.out.println();
//这是专栏
系统输出打印(“”);
对于(int i=0;i
与上面提到的MadProgrammer一样,JOptionPane并不是显示类似内容的最佳方式。但是如果您确实想使用JOptionPane,请执行以下操作:

创建一个
字符串
对象,在顶部保留一个空字符串

String str = "";
并用
str+=
替换每个
System.out.print
语句,后跟括号中先前包含的内容。例如:

str += "    ";
for (int i = 0; i < numCol; i++)
  str += i + "   ";
str += "\n";

由于JOptionPane不像控制台那样将字符放置在网格对齐中(至少据我所知),因此将有一些对齐问题需要您自己解决,但这应该给你一个很好的方法。

我不认为
JOptionPane
是你真正想要的。看看如何使用
StringBuilder
构建用户界面。非常感谢你!你的帮助超过9000。我的程序运行正常了(终于!):D
JOptionPane.showMessageDialog(null,str);