2017-05-23 4 views
0
public class answer{ 

    String[] clomn; 
    Integer[][] disparray; 

    public answer(int[][] x) { 

     clomn = new String[x.length]; 
     disparray = new Integer[x.length][x[0].length]; 

     for(int i = 0; i < x.length; i++) { 
      for(int k = 0;k < x[0].length; k++){ 

       int temp = x[i][k]; 
       disparray[i][k] = Integer.valueOf(temp); 
      } 

      clomn[i] = " ";  
     } 
    } 

    public void ans_printer(){ 

     JFrame frame = new JFrame("Result"); 
     JTable asd = new JTable(disparray, clomn); 

     frame.setVisible(true); 
     frame.setSize(450,450); 
     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      frame.setBackground(Color.RED); 
     frame.add(asd); 
    } 
} 

Ich habe keinen Fehler in der Konsole. Aber das Fenster schließt nicht. Ich muss den Aufgabenmanager öffnen und ihn schließen. Und die JTable ist Schwarz, dafür denke ich, dass die Umwandlung zwischen int zu Integer nicht korrekt ist. Und warum schwarze Farbe erscheint? Mein Hintergrund ist rot. Und schwarz ist nicht gleichmäßig im Fenster verteilt, da es ein kleines Rechteck mit weißer Farbe gibt. Und wenn ich die Größe des Fensters ändere, bleibt es nicht so, wie es ist. Also meine Fragen:Jtable funktioniert nicht und Jframe schließt nicht (JAVA)

  1. Ist diese Konvertierung korrekt?
  2. Warum ist diese schwarze Farbe?
  3. Warum schließt es nicht?

Ich kann Task-Manager öffnen. Größe des Fensters mit glatten Animationen (des Betriebssystems natürlich). Zuletzt möchte ich den Code bereitstellen, der die Methode aufruft.

answer abc = new answer(newM); 
abc.ans_printer(); 

Screenshot

+0

Bitte beginnen Sie Klassennamen mit einem Großbuchstaben. es ist Konvention. –

+0

https://drive.google.com/file/d/0BxtaAvBbWoVjcVNJdUMzM0pSdUE/view ScreenShot des Fensters. –

+0

Bitte verwenden Sie nicht die Kommentare für diese Art von Informationen. Lade das Bild auf deine Frage hoch. –

Antwort

0

Ich weiß nicht wie, aber das ist, was mein Problem behoben.

disparray[i][k] = new Integer(x [i][k]); 

Kann mir jemand erklären, was oben passiert.