2016-05-21 9 views
-2

Ich habe ein Programm, das einige Daten verarbeitet und ein 2D-Array von Booleans erstellt. Nach der Verarbeitung möchte ich ein Raster mit dem resultierenden Array anzeigen lassen (ausgefüllt mit true, leer, wenn null oder false). Wie kann ich das mit einem JFrame (und vielleicht einer JTable) machen? Alle Beispiele, die ich sehe, erzeugen ein Raster, das durch Klicken ausgefüllt wird, und ich brauche nur eine visuelle Darstellung eines vorgefertigten Arrays. Kann mir jemand sagen, wie ich das mache? Vielleicht würde eine einfache Funktion, um ein 2D-Array zu übergeben, das Gitter auftauchen? Hierjava - Erstellen Sie ein gefülltes Gitter mit einem 2D-Array von Booleans

+1

Es sind entweder zu viele mögliche Antworten, oder gute Antworten wäre zu lang für dieses Format. Bitte fügen Sie Details hinzu, um die Antwortgruppe einzuschränken oder ein Problem zu isolieren, das in einigen Absätzen beantwortet werden kann. –

+2

@MikeWeber Vielleicht stattdessen auf Gildraths google Fähigkeiten zu verlassen, sollten Sie das Problem weiter erforscht haben, vielleicht so etwas wie [eine GUI mit JFC/Swing Erstellen] (http://docs.oracle.com/javase/tutorial/uiswing/) und [Wie man Tabellen verwendet] (http://docs.oracle.com/javase/tutorial/uiswing/components/table.html) wäre ein guter Anfang gewesen – MadProgrammer

Antwort

1

ist ein Beispiel, das funktionieren könnte: Inspiriert von: http://www.codejava.net/java-se/swing/a-simple-jtable-example-for-display

public class TableExample extends JFrame{ 
    public TableExample() 
    { 
     //headers for the table 
     String[] columns = new String[] { 
      "Field", "Boolean Value1", "Boolean Value2" 
     }; 

     //actual data for the table in a 2d array 
     Object[][] data = new Object[][] { 
      {"Check YX", false, false }, 
      {"Check XZ", true, true }, 
     }; 

     //create table with data 
     JTable table = new JTable(data, columns); 

     //add the table to the frame 
     this.add(new JScrollPane(table)); 

     this.setTitle("Table Example"); 
     this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
     this.pack(); 
     this.setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
     SwingUtilities.invokeLater(new Runnable() { 
      @Override 
      public void run() { 
       new TableExample(); 
      } 
     }); 
    } 
}