2016-05-18 5 views
1

Wie bekomme ich ein solches Layout in Java?Java. Wie erstelle ich ein JPanel mit veränderbarem Textbereich und festen Schaltflächen?

| --------------------------------------------- - |
| Feste Größe "top" Panel mit Etiketten
| --------------------------------------- ------- |
| Größenänderbarer Textbereich
| Es erweitert die meisten der Eltern
| Paneel (außer den festen Bereichen)
|
| ---------------------------------------------- |
| Fest JTextArea (immer 2 Zeilen
| voller Rahmenbreite)
| ---------------------------------- ------------ |
| RightCenteredButtons
| ---------------------------------------------- |

Ich habe versucht, den Code unten, aber ich kann es nicht zum Laufen bringen. Elemente schweben, Textbereiche kollidieren. Ich kann nicht herausfinden, wie man den Textbereich auf alle verfügbaren Rahmen ausdehnt, außer auf feste Bereiche.

JPanel top = new JPanel(new FlowLayout(FlowLayout.LEFT , 10, 10)); 
top.add(label1); 
    .... 
top.add(labelLast); 
add(top); 
JTextArea area1 = new JTextArea(); 
add(area1); 
JTextArea area2 = new JTextArea(); 
add(area2); 
JPanel bottom= new JPanel(new FlowLayout(FlowLayout.RIGHT , 10, 10)); 
bottom.add(button1); 
    .... 
bottom.add(buttonLast); 
add(bottom); 

Antwort

4

ein BorderLayout auf dem Hauptfeld verwenden.

  1. Erstellen Sie ein Panel und fügen Sie es zur PAGE_START hinzu. Stellen Sie dann das Layout des Panels ein und fügen Sie Komponenten zum Panel hinzu.
  2. eine JScrollPane mit einem JTextArea erstellen und an die mit einem JTextArea erstellen JScrollPane CENTER
  3. hinzufügen und auf die von den Swing-Tutorial auf How to Use BorderLayout für weitere Informationen und Arbeits PAGE_END

Lesen Sie den Abschnitt hinzufügen Beispiele.

JTextArea fixiert (immer 2 Zeilen voller Rahmenbreite)

und wenn Sie die JTextArea erstellen Sie verwenden:

JTextArea textArea = new JTextArea(2, 20); 

die feste Anzahl von Zeilen zu spezifizieren.

Verwandte Themen