Ich kriege die Grössen einfach nicht auf die Reihe!

Status
Nicht offen für weitere Antworten.
A

A380

Gast
Hi

Also mit Grössenangaben habe ich einfach meine Probleme:

1. Beispiel:
Ich möchte ein JPanel im Center Teil eines Border Layouts plazieren, mit einem Etched Border. Dieses JPanel soll aber nicht 100% des Center Teils ausfüllen sondern noch je 10 px auf allen Seiten Platz lassen, doch ich kriege das nicht hin. Muss ich das über die Grösse des JFrames steuern, oder das JPanel oder beides?
Und wenn ich nur die Breite einer Komponente verändern will, wie kann ich das machen ohne auch die Höhe explizit angeben zu müssen?

2. Beispiel
Wenn ich die Fenstergrösse veränderbar lasse, dann werden meine Textfelder beim verkleinern extrem schmal, obwohl ich setMinimumSize() aufgerufen habe. Wie kann ich das verhindern?
 

L-ectron-X

Gesperrter Benutzer
A380 hat gesagt.:
Dieses JPanel soll aber nicht 100% des Center Teils ausfüllen sondern noch je 10 px auf allen Seiten Platz lassen, doch ich kriege das nicht hin.
Ich glaub, das wird über die Methoden
Code:
setHgap(int hgap)
und
Code:
setVgap(int vgap)
einer BorderLayout-Instanz eingestellt.
 
G

Gast

Gast
Hi again

Problem ist eben, dass ich weder im East, noch im West Teil etwas habe, somit bewirkt der Vgap schon mal nix. Aber ich möchte gerne x Pixel Abstand zum Rand auf beiden Seiten. Wie kriegt man das sonst hin?
 

8ull23y3

Bekanntes Mitglied
Hm..., ich weiss nicht ob dir das was bringen wird aber dem BorderLayout kannste schon von vornherein sagen daste n Abstand haben willt.

x.setLayout(new BorderLayout(10,10));
 
G

Gast

Gast
Ne kommt ja auf dasselbe. Und ein setMargin hab ich ja auch nicht zu Verfügung :(
 
G

Guest

Gast
Schau Dir den Codeausschnitt an. Mit GridbagLayout kannst Du jedes Layoutproblem lösen.
Hier etwas übertrieben aber bei mehreren Komponenten ist es das beste Layout.
Code:
...
JTextField vornameField = new JTextField();
JTextField nachnameField = new JTextField();
...
this.setBorder(
  BorderFactory.createCompoundBorder(
    // Aussenrand
    BorderFactory.createCompoundBorder(
      BorderFactory.createEmptyBorder(10,10,10,10),
      BorderFactory.createEtchedBorder()
    ),
    // Innenrand
    BorderFactory.createEmptyBorder(4,4,4,4)
  )
);
    
this.setLayout(new GridBagLayout());
    
this.add(new JLabel("Vorname"), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 2, 2), 0, 0));
this.add(vornameField, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 2, 0), 200, 0));
this.add(new JLabel("Nachname"), new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 2), 0, 0));
this.add(nachnameField, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 200, 0));    
    
// Platzhalter für den restlichen vertikalen Bereich
this.add(Box.createVerticalGlue(), new GridBagConstraints(2, 2, 1, 1, 0.0, 1.0, GridBagConstraints.WEST, GridBagConstraints.VERTICAL, new Insets(0, 0, 0, 0), 0, 0));
 
G

Gast

Gast
Danke Gast :) You rule! Das mit dem Compound Border hätte ich nie selber herausgefunden, so klappts einwandfrei.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Ich kriege eine Fehler Messesage bei meinem Media Player AWT, Swing, JavaFX & SWT 8
W JavaFX Warum kriege ich eine Exception? AWT, Swing, JavaFX & SWT 23
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
T SWT Wie kriege ich die Position des Textfeldes raus? AWT, Swing, JavaFX & SWT 19
Z kriege kein paint AWT, Swing, JavaFX & SWT 13
S Grössen der Komponenten AWT, Swing, JavaFX & SWT 3
O LayoutManager pagelayout - Example läuft einfach nicht ! AWT, Swing, JavaFX & SWT 6
J JavaFX CSS einbinden - Wieso will das einfach nicht!!! AWT, Swing, JavaFX & SWT 1
D Sortierung in der einfach-verketteten Listen AWT, Swing, JavaFX & SWT 13
L JavaFX Wait/Sleep/postedDelay - Einfach nur warten AWT, Swing, JavaFX & SWT 4
D Swing JOptionPane verschwindet beim 2. Aufruf einfach so?? AWT, Swing, JavaFX & SWT 2
D JTable Columns wollen einfach nicht resizen AWT, Swing, JavaFX & SWT 5
D VE in Eclipse mag einfach nicht funktionieren AWT, Swing, JavaFX & SWT 5
L Applet In HTML einbinden klappt einfach nicht AWT, Swing, JavaFX & SWT 5
F Swing JTable Einfach-Selektion überschreiben AWT, Swing, JavaFX & SWT 4
T JPEG / Exif nur in einfach ... AWT, Swing, JavaFX & SWT 1
G Swing JTable will sich einfach nicht aktualisieren AWT, Swing, JavaFX & SWT 4
D TableCellRenderer rendert einfach nicht! AWT, Swing, JavaFX & SWT 4
G JTabbedPane verschwinden einfach bei Paelaktualisierung AWT, Swing, JavaFX & SWT 7
T JTable SpaltenBreite will einfach nich klappen AWT, Swing, JavaFX & SWT 4
G KeyListener Problem in GUI (macht einfach nichts) AWT, Swing, JavaFX & SWT 2
P Die Farbe wird einfach nicht gesetzt :( AWT, Swing, JavaFX & SWT 5
B JList bleibt einfach mal stehen AWT, Swing, JavaFX & SWT 2
J JSeparator ist schüchtern. Will sich einfach net zeigen... AWT, Swing, JavaFX & SWT 4
R Ganz Einfach Frage AWT, Swing, JavaFX & SWT 2
R Ganz Einfach Frage AWT, Swing, JavaFX & SWT 3
M JScrollPane zeigt einfach keinen ScrollBar AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben