JTable Höhe

hesk

Erfahrenes Mitglied
Hallo!

Ich denke eine simple Frage...aber ich komm nicht drauf.

Wenn ich eine normale JTable mache, wie kann ich festlegen dass die JTable nur so hoch sein soll, wie es Inhalte hat?

Hier ein Bsp-Code:

Java:
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

public class SimpleTableDemo extends JPanel
{

    public SimpleTableDemo()
    {
        super(new GridLayout(1, 0));

        String[] columnNames = { "spalte1", "spalte2" };
        Object[][] data = new Object[3][2];
        int index = 0;

        data[0][0] = "TEST";
        data[0][1] = "29-01-2002";

        data[1][0] = "TEST";
        data[1][1] = "29-01-2002";

        data[2][0] = "TEST";
        data[2][1] = "29-01-2002";

        final JTable table = new JTable(data, columnNames);
        // table.setPreferredScrollableViewportSize(new Dimension(500, 70));
        // table.setFillsViewportHeight(true);

        // Create the scroll pane and add the table to it.
        JScrollPane scrollPane = new JScrollPane(table);

        // Add the scroll pane to this panel.
        add(scrollPane);
    }

    /**
     * Create the GUI and show it. For thread safety,
     * this method should be invoked from the
     * event-dispatching thread.
     */
    private static void createAndShowGUI()
    {
        // Create and set up the window.
        JFrame frame = new JFrame("SimpleTableDemo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        // Create and set up the content pane.
        SimpleTableDemo newContentPane = new SimpleTableDemo();
        newContentPane.setOpaque(true); // content panes must be opaque
        frame.setContentPane(newContentPane);

        // Display the window.
        frame.pack();
        frame.setVisible(true);
    }

    public static void main(String[] args)
    {
        // Schedule a job for the event-dispatching thread:
        // creating and showing this application's GUI.
        javax.swing.SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                createAndShowGUI();
            }
        });
    }
}

Wie kann ich da nun sagen "sei nur so hoch wie du inhalte hast" ?
 
Hab die Antwort schon:

Java:
table.setPreferredScrollableViewportSize(new Dimension((int)table.getPreferredScrollableViewportSize().getWidth(), (int)table.getPreferredSize().getHeight()));
 
Zurück