# Die Größe einer JTextArea an Ihren Parent JPanel anpassen.



## TheUnknownUser (4. Nov 2011)

Ich habe eine JTextArea in ein JPanel integriert, welches (das JPanel) seine Größe durch einen GridBagLayoutmanager zugewiesen bekommt. Ich möchte jetzt die JTextArea in dem Jpanel linksbündig ausrichten und auf die Größe des JPanels ausweiten. Mein Ansatz wäre dem Jpanel ein BoxLayout zu verpassen und da die JTextArea einzufügen. Aber da gibt es doch bestimmt einen schöneren Weg, oder?

MfG,


----------



## pl4gu33 (4. Nov 2011)

also mir würde spontan "panel.setLayout(new GridLayout(1,1)); "
einfallen, dann wird die TextArea aufs ganze Panel gezogen
und das Panel hat nur 1 "Slot" sozusagen ^^


----------



## TheUnknownUser (4. Nov 2011)

Danke, das funktioniert auf jedenfall schon mal. Aber gibt es nicht nen besseren Weg? Schön wäre beispielsweise eine Möglichkeit die Größe einer Komponente zu erfragen, bevor man den JFrame visible setzt? Oder gibt es eine Möglichkeit einer JTextArea eine Border und Insets zu verpassen? Ich benutze das JPanel nämlich nur, um halt eine Border und Insets für die Textarea zu generieren.


----------



## Xeonkryptos (4. Nov 2011)

Die Größe einer Komponente kannst du erfragen, bevor du das Frame sichtbar machst. Einfach vor pack() bzw setVisible(true) einfach mal nach all der Initialisierungen und adden einfach mal die größe Abfragen. Geht ganz einfach.


----------



## pl4gu33 (4. Nov 2011)

für den Rand an der Textbox...
z.b.
textarea.setBorder(BorderFactory.createEtchedBorder())

bei der Factory gibts so einige Möglichkeiten und verschiedene Ränder einfach mal ausprobieren und durchschauen 
BorderFactory (Java 2 Platform SE v1.4.2)


----------



## TheUnknownUser (4. Nov 2011)

Bei mir zeigt er wenn ich per Komponente.getSize() die Größe abfragen will immer "Dimension[width=0,height=0]" an. Ausser ich tue das nach pack() und setVisible().


----------

