2014-12-04 35 views
0

几个星期前我刚开始学习Java,所以我很新。我目前正在开发一个TicTacToe游戏,并且我刚刚完成了,但是我没有将自己的主板显示为System.out.print,而是希望它显示在JOptionPane消息上,而不是从美学角度进行改进。不过,我的板完全是用循环制成的,我不知道如何在JOptionPane上显示它:(我尝试过在线研究类似情况,但是我发现的一切都很混乱,或者似乎不适用于这种类型声明我打印的。如果有人可以帮助我将非常感激。在单个JOptionPane中显示多个System.out.print?

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(); 
} 
+0

我不认为'JOptionPane'真的是你想要的。查看[使用JFC/Swing创建GUI](http://docs.oracle.com/javase/tutorial/uiswing/),了解如何构建用户界面 – MadProgrammer 2014-12-04 01:08:19

+0

使用'StringBuilder',[例子](http ://stackoverflow.com/a/14011536/230513)。 – trashgod 2014-12-04 01:33:04

回答

1

像MadProgrammer如上所述,JOptionPane的不是去显示这样的事情的最好方法。但如果你真的要使用的JOptionPane,做这样的事情:

创建String物体在顶部拿着一个空字符串...

String str = ""; 

并用str +=替换您的每个System.out.print陈述,然后是括号内的任何内容。例如:

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

str += "\n";替换您System.out.println语句。

最后,最后可以使用JOptionPane来显示字符串。

JOptionPane.showMessageDialog(null,str); 

有将是你必须解决你自己的,因为JOptionPane中不会将字符像游戏机一网格对齐排列的一些问题做(据我所知,至少)但是这应该给你一个关于如何去做的好主意。

+0

谢谢sooooooooooooooooooooo多TNT!您的帮助超过9000.让我的程序正常运行(终于!):D – Vanessa 2014-12-04 03:53:17