2014-12-04 74 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