JTable im GridBagLayout -> gridwidth

drei1padsvb

Aktives Mitglied
Hallo zusammen,

ich bin gerade dabei dem GridBagLayout ein JTable hinzuzufügen.
Das klappt auch ganz gut.
Mein Problem jedoch ist, dass es nur eine Zeile hoch ist.
Mit gridheight dachte ich, es übere mehrere Zeilen strecken zu können, was aber leider nicht klappt.

Hier der Code:
Java:
    String[][] rowData = {
    { "123", "12:30", "14:00", "Madrid", "Paris", "Germanwings", "Dienstag", },
    { "124", "13:30", "15:00", "Stuttgart", "Rom", "Air Berlin", "Freitag", },
    { "125", "05:05", "07:00", "Köln", "Mallorca", "Lufthansa", "Montag", },
    { "126", "10:30", "11:00", "Stuttgart", "Bonn", "Airberlin", "Dienstag", },
    { "127", "12:00", "14:00", "Barcelona", "Oslo", "Germanwings", "Donnerstag", },
    { "128", "19:30", "22:00", "Madrid", "Paris", "Lufthansa", "Samstag", },
  };
    String[] columnNames = {
        "Flugnummer", "Abflugzeitpunkt", "Ankunftszeitpunkt", "Abflughafen", "Zielflughafen", "Fluglinie", "Wochentag",
    };
    JTable table = new JTable( rowData, columnNames );
    constraints.gridx = 0;
    constraints.gridy = 2;
    constraints.gridwidth = 3;
    constraints.gridheight = 5;
    mainPanel.add( new JScrollPane(table), constraints);

jtable.jpg


Wie ihr seht, steh ich grad auf dem Schlauch und krieg das Problem nicht gelöst.
Bin auch noch Anfänger (was aber keine Ausrede sein soll).

Vielen Dank schonmal!
 
Zuletzt bearbeitet:
Das hat nichts mit gridwidth zu tun. Damit wird die Ausbreitung einer Komponente über die entsprechende Anzahl an Grid-Spalten festgelegt.

Wenn du die Höhe beeinflussen möchtest, kannst du nun erst mal die Gewichtung auf die JScrollPane legen.

Schreibe mal in Zeile 17
[JAVA=17]constraints.weighty = 1.0;[/code]
 
Viele Dank für deine Antwort.

Leider ändert sich bei deinem Vorschlag nichts.
Es bleibt wie auf dem obigen Bild.

Ich hab mich oben auch verschrieben. Ich meinte gridheight, nicht gridwidth.
Habe es oben abgeändert.

Habe auch gerade gemerkt, dass es am JScrollPane liegt.
Entferne ich diesen, klappt es.
Allerdings brauch ich das JScrollPane.
 
Dann kommen nur noch zwei Sachen in Frage.
Entweder die PreferredSize der JScrollPane anpassen, oder meiner Meinung nach viel eleganter und flexibler: setze In Zeile 16 mal noch zusätzlich

[JAVA=16]constraints.fill = GridBagConstraints.BOTH;[/code]
 

Neue Themen


Zurück
Oben