Java JTable; Tabelle begrenzen?

1 Antwort

Vom Fragesteller als hilfreich ausgezeichnet

Passe die Größe des ScrollPane an.

scrollPane.setPreferredSize(new Dimension(550, rowHeight * 2));

Da du wohl zwei Zeilen der Tabelle anzeigen lassen möchtest, multipliziere ich an der Stelle auch mit Zwei.

Dazu ein komplettes Beispiel:

import java.awt.*;
import javax.swing.*;

public class Main {
  public static void main(String[] args) {
    var frame = new JFrame("JTable example");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    var tableData = new String[][] {
      { "test", "" },
      { "", "" },
      { "", "" },
      { "", "" },
      { "", "" },
      { "", "" },
    };
    var table = new JTable(tableData, new String[] { "Name", "Picture" });
    table.setDefaultEditor(Object.class, null);
    table.setCellSelectionEnabled(false);
    table.setFocusable(false);
    table.setAutoscrolls(false);

    int rowHeight = table.getRowHeight() + 60;
    table.setRowHeight(rowHeight);

    var scrollPane = new JScrollPane(table);
    scrollPane.setPreferredSize(new Dimension(550, rowHeight * 2));

    var panel = new JPanel();
    panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));
    panel.add(scrollPane);

    frame.add(panel);
    frame.pack();
    frame.setVisible(true);
  }
}

Leonad 
Fragesteller
 14.10.2020, 20:23

Danke für deine Hilfe.

Hat gut funktioniert.

0