3 Stimmen

JTable an den Bildschirm anpassen

Ich habe eine App nur für Übungszwecke erstellt, die eine JTable um die Daten aus meiner Datenbank anzuzeigen.

Mein Problem ist, dass die Tabelle auf meinem Bildschirm nur in der Hälfte des Feldes angezeigt wird. Ich habe alles versucht, um die Spalten zu erweitern, ohne Erfolg. Kann mir jemand sagen, wie ich die Tabelle ändern kann?

Hier ist der Code, mit dem die Tabelle erstellt wird:

    public void createTable() {
    JTable table = new JTable();
    DefaultTableModel tableModel = new DefaultTableModel(new Object[][]{},new String[]{"To do","Date added"});
    table.setSize(450, 600);
    table.setModel(tableModel);
    for(int i = 0; i < model.getId().size(); i++) {
        tableModel.addRow(new Object[]{model.getItem().get(i), model.getDate().get(i)});
    }
    add(table.getTableHeader());
    add(table);
}

So sieht es im Moment aus:

enter image description here

Auch ich möchte über table.getTableHeader() fragen, denn wenn ich nicht hinzufügen, dass es nicht angezeigt, da es ein Teil der Tabelle ist. ist das normal?

4voto

mKorbel Punkte 109073
  • JPanel tiene FlowLayout in API implementiert, dann wird Ihr JPanel verlegt JComponents korrekt, mit Ihrer Logik (hinzufügen JTableHeader , hinzufügen JTable )

  • ändern Sie das in BorderLayout und zu setzen JTableHeader a la NORTH / SOUTH y JTable a la CENTER

  • verwenden. JScrollPane para JTables view , alles andere ist lästig mit LayoutManager und Berechnungen für PreferredSize sehr hässliche Weise,

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X