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

+0

[예] (http)에 대해'StringBuilder'를 사용하십시오 : //stackoverflow.com/a/14011536/230513). – trashgod

답변

1

MadProgrammer은 위에서 언급 한 것처럼이 JOptionPane에이 같은 표시에 대해 갈 수있는 가장 좋은 방법이 아니다.하지만 실제로 당신이 경우 , JOptionPane의를 사용하여 이런 일을하고 싶지 ...

가 상단에 빈 문자열을 들고 String 객체를 생성

String str = ""; 

그리고 System.out.print 문을 각각 str +=으로 바꾼 다음 이전에 괄호 안에 있던 내용을 바꿉니다. 예를 들어 :

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