2016-12-19 7 views
3

本当に困っています。Javaで2D配列をSwing/JOptionPaneのウィンドウに印刷する方法

import javax.swing.JOptionPane; 
import java.util.*; 
public class StarWars { 

    public static void main(String[] args) { 
     String [][] gridPlayer = new String [6][6]; 
     Scanner kb = new Scanner (System.in); 

     String [] rows = {"A", "B", "C", "D", "E", "F", "G", "H"}; 

     for (int i = 0; i < 6; i++){ 
      for (int j = 0; j < 6; j++){ 

       gridPlayer[i][j] = " ~ "; 
      } 
     } 
     System.out.print(" "); 
     for (int i = 0; i < 6; i++){ 
      System.out.print(" " + rows[i] + " "); 
     } 
     System.out.println(); 
     for (int i = 0; i < 6; i++){ 
      System.out.print(" " + i); 
      for (int j = 0; j < 6; j++){ 
       System.out.print(gridPlayer[i][j]); 
      } 

      System.out.println(); 

     } 

     JOptionPane.showMessageDialog(null, for (int i)); 

    } 

} 

、誰もが行う方法を知っているだろう場合:私はそれがコンソールここthe desired output

に印刷するのと同じようにJOptionPaneの中で(ShowMessageDialogのような)ウィンドウとしてこの表を印刷する方法をどこでも見つけるカントは私のコードですこれは、あなたの助けが完全に評価されるだろう。

P.S. STARWARSそれは宿題であるとしてクラスが存在している;)

答えて

4

多くの可能なアプローチがここにありますが、いずれかです。あなたはStringBuilderでこれを試してみて、htmlタグを使用してJLabelにすべてを置くことができます。

StringBuilder sb = new StringBuilder(); 
    sb.append("<html>"); 

    String [][] gridPlayer = new String [6][6]; 
    Scanner kb = new Scanner (System.in); 

    String [] rows = {"A", "B", "C", "D", "E", "F", "G", "H"}; 

    for (int i = 0; i < 6; i++){ 
     for (int j = 0; j < 6; j++){ 

      gridPlayer[i][j] = " ~ "; 
     } 
    } 
    sb.append("&nbsp&nbsp"); 
    for (int i = 0; i < 6; i++){ 
     sb.append(" " + rows[i] + " "); 
    } 
    sb.append("<br>"); 
    for (int i = 0; i < 6; i++){ 
     sb.append(" " + i); 
     for (int j = 0; j < 6; j++){ 
      sb.append(gridPlayer[i][j]); 
     } 

     sb.append("<br>"); 

    } 
    sb.append("</html>"); 

    JOptionPane.showMessageDialog(null, new JLabel(sb.toString())); 
+1

感謝あなたはそんなに! – Samuelf80

関連する問題