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