Größe von JScrollPane kontrollieren



  • Hallo,
    ich habe eine Java-Applikation mit einem JTabbedPane. In einem der Tabs soll ein JTextArea sein, der immer die maximale Größe einnimmt (evtl. mit Scrollbalken). Realisiert habe ich die Verschachtelung der Komponenten so:

    JFrame => JTabbedPane => JPanel => JScrollPane => JTextArea

    Die Größe des JTabbedPanes orinientiert sich austomatisch an der Fenstergröße.
    Das JPanel orientiert sich automatisch an der Größe des JTabbedPane.
    Die Größe des JScrollPane macht Probleme.
    Die JTextArea orientiert sich automatisch an der Größe des JScrollPane.

    Möglichkeit A:
    ----------------
    JScrollPane scrollPane = new JScrollPane(new JTextArea("..."));
    scrollPane.setPreferredSize(new Dimension(300, 300));
    add(scrollPane, BorderLayout.CENTER);

    Statische Größe, passt sich nicht Änderungen der Fenstergröße an!

    Möglichkeit B:
    ----------------
    setLayout(new GridBagLayout());
    add(new JScrollPane(new JTextArea("...")), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));

    Das JScrollPane sollte sich meines Wissens nach der Größe der Elternkomponente anpassen.

    Problem:
    Die Scrollpane ist bei Programmstart ca. 1 x 1 cm groß. Wenn Das Fenster maximiert wird, nimmt die ScrollPane ca. 90% der verfügbaren Fläche ein. An allen vier Ränder ist ungenutzter Platz.

    Wie kann ich die JScrollPane sich automatisch an die Größe des JTabbedPane, bzw. des Fensters anpassen lassen?

    Vielen Dank.



  • Möglichkeit C:
    ---------------
    Lass das JPanel aus deiner Reihe raus und es wird klappen. 🙂

    JFrame => JTabbedPane => JScrollPane => JTextArea
    


  • Dank, so klappt es.

    Weiss aber auch jemand wie es mit JPanel geht?


Anmelden zum Antworten