LayoutManager bei Fenstervergrößerung Buttons nicht auseinanderziehen

davidh38

Bekanntes Mitglied
Hallo,

ich habe eine kleine LayoutDemo geschrieben und würde gern, dass, wenn ich das Fenster nach rechts vergrößer sowohl Cancel als auch Ok-Button nebeneinander bleiben und nicht wie in diesem Beispiel auseinander gezogen werden. Wie kann ich das bewerkstelligen?
Ein Button habe ich mit Hilfe von anchor=GridBagConstraints.EAST rechts lassen können, aber der andere bleibt in seiner Position. Wie kann ich das verhindern? Beide Buttons sollen sich auch nach dem vergrößern des Fensters rechts unten befinden. Vielen Dank schonmal im voraus.

Java:
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;


public class OkWindow {

	public static void main (String [] args){
		
		JFrame j = new JFrame();
		j.setLayout(new GridBagLayout());

		JTextArea textarea= new JTextArea();
		
		GridBagConstraints c3 = new GridBagConstraints();
		c3.gridx = 0;
		c3.gridy =0;
		c3.gridwidth=2;
		c3.weightx=1.0;
		c3.weighty=1.0;

	
	

	
		c3.fill=GridBagConstraints.BOTH;
		
		
		GridBagConstraints c = new GridBagConstraints();

		c.gridx=0;
		c.gridy=1;
		
		c.fill=200;
		c.ipadx=80;
		c.ipady=3;
		c.weighty=0;
		c.weightx=0;
		c.insets= new Insets(200,400,0,0);
		c.anchor=GridBagConstraints.EAST;
		
		GridBagConstraints c2 = new GridBagConstraints();

		c2.fill=200;
		c2.ipadx=80;
		c2.ipady=3;
		c2.gridx=1;
		c2.gridy=1;
		c2.weighty=0;
		c2.weightx=0;
		c2.insets= new Insets(200,0,0,0);
		c2.anchor=GridBagConstraints.EAST;
		
		
		j.add(new JButton("Ok"),c);
		j.add(new JButton("Cancel"),c2);
		j.add(textarea,c3);
		
		j.pack();
		j.setVisible(true);
		
	}
	
}
 

Nardian

Bekanntes Mitglied
nun, vielleicht gehts auch hübscher, aber wieso stellst du die beiden buttons nicht einfach in ein flowlayout, und positionierst das JPanel (mit dem flow-layout, sprich den beiden buttons) im gridbag mit dem anchor = EAST ?
 

davidh38

Bekanntes Mitglied
nun, vielleicht gehts auch hübscher, aber wieso stellst du die beiden buttons nicht einfach in ein flowlayout, und positionierst das JPanel (mit dem flow-layout, sprich den beiden buttons) im gridbag mit dem anchor = EAST ?

jo, danke für den tipp, aber ich will ausschließlich das gridbaglayout benutzen, mein ziel ist das layout vollkommen zu beherrschen
 

Nardian

Bekanntes Mitglied
na wenn das so ist...

Java:
public class OkWindow {
 
    public static void main (String [] args){
        
        JFrame j = new JFrame();
        j.setLayout(new GridBagLayout());
 
        JTextArea textarea= new JTextArea();
        
        GridBagConstraints c3 = new GridBagConstraints();
        c3.gridx = 0;
        c3.gridy =0;
        c3.gridwidth=2;
        c3.weightx=1.0;
        c3.weighty=1.0;
    
        c3.fill=GridBagConstraints.BOTH;
        
        GridBagConstraints c = new GridBagConstraints();
 
        c.gridx=0;
        c.gridy=1;
        
        c.weighty=0;
        c.weightx=2;
        c.anchor=GridBagConstraints.EAST;
        
        GridBagConstraints c2 = new GridBagConstraints();
 
        c2.gridx=1;
        c2.gridy=1;
        c2.weighty=0;
        c2.weightx=0;
        c2.anchor=GridBagConstraints.EAST;
        
        
        j.add(new JButton("Ok"),c);
        j.add(new JButton("Cancel"),c2);
        j.add(textarea,c3);
        
        j.pack();
        j.setVisible(true);
        
    }
    
}
 

davidh38

Bekanntes Mitglied
na wenn das so ist...

Java:
public class OkWindow {
 
    public static void main (String [] args){
        
        JFrame j = new JFrame();
        j.setLayout(new GridBagLayout());
 
        JTextArea textarea= new JTextArea();
        
        GridBagConstraints c3 = new GridBagConstraints();
        c3.gridx = 0;
        c3.gridy =0;
        c3.gridwidth=2;
        c3.weightx=1.0;
        c3.weighty=1.0;
    
        c3.fill=GridBagConstraints.BOTH;
        
        GridBagConstraints c = new GridBagConstraints();
 
        c.gridx=0;
        c.gridy=1;
        
        c.weighty=0;
        c.weightx=2;
        c.anchor=GridBagConstraints.EAST;
        
        GridBagConstraints c2 = new GridBagConstraints();
 
        c2.gridx=1;
        c2.gridy=1;
        c2.weighty=0;
        c2.weightx=0;
        c2.anchor=GridBagConstraints.EAST;
        
        
        j.add(new JButton("Ok"),c);
        j.add(new JButton("Cancel"),c2);
        j.add(textarea,c3);
        
        j.pack();
        j.setVisible(true);
        
    }
    
}

wow, cool danke, wie ich sehe, hast du einfach nur c.weightx=2 gesetzt. Ich dachte, dass das immer nur ein Wert zwischen 0.0 und 1.0 ist. Kannst du mir erklären, warum dadurch der Button rechts bleibt?
 

Nardian

Bekanntes Mitglied
nun - ich muss zugeben, ich hab nie wirklich ne api von gridbag gelesen, also hier mal was ich vermute:

weightx (und y genauso) besagt folgendes:

wenns auf 0 ist (oder auch auf 1, da bin ich mir nicht so sicher), besagt das, dass die componente allem anderen platz machen soll.. also nicht zentrieren, nichts.. nur soviel platz einnehmen wie es braucht
alles was größer als 0 (oder eben 1) ist, wird aufs verhältnis geschaut

das heißt, wenn du einer componet sagst weightx = 2, und ner anderen weightx = 3, (und es keine weiter componente in dieser zeile gibt), dann teilen sich die beiden component die zur verfügung stehende fläche eben 2:3 auf...

so einfach :)

und genau das ist auch bei dem bsp von dir. die eine comp bekommt 0 (die soll sich gar nich ausbreiten) und die andere 2 ... bzw.. könnte es auch 1 sein, grad getestet...

alles klar?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
XWing Basic JPanel mit 2 Buttons beutzen. AWT, Swing, JavaFX & SWT 10
jojoge Wie erstelle ich runde Buttons mit Farbe? AWT, Swing, JavaFX & SWT 1
berserkerdq2 Buttons und Shapes sehen ja nach Screengröße klein oder zu groß aus, jemand eine Idee, was man tun kann? AWT, Swing, JavaFX & SWT 1
H Swing Buttons erst nach Klick sichtbar AWT, Swing, JavaFX & SWT 13
volcanos SpringLayout mit zusätzlichen Buttons außerhalb des SpringLayout AWT, Swing, JavaFX & SWT 33
K Swing Buttons erst blinken lassen und dann abfragen, ob sie gedrückt worden sind AWT, Swing, JavaFX & SWT 2
Z Switch Case für Buttons AWT, Swing, JavaFX & SWT 8
O Swing JOptionPane.showOptionDialog - Wie kann ich Buttons größer machen AWT, Swing, JavaFX & SWT 10
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
Z Swing Kann man denn abstand zwischen zwei Buttons berechnen AWT, Swing, JavaFX & SWT 5
B JavaFX DropDown Menu mit ausführbaren Buttons AWT, Swing, JavaFX & SWT 1
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
ms_cikar Jbutton erzeugt neue Buttons AWT, Swing, JavaFX & SWT 2
K Buttons dynamisch erstellen (NetBeans) AWT, Swing, JavaFX & SWT 10
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
xYurisha ActionListener Methoden Buttons zuweisen! AWT, Swing, JavaFX & SWT 16
xYurisha Aus einer Gui Buttons, Label und ProgessBars entfernen AWT, Swing, JavaFX & SWT 4
CptK Wieso wird nur ein Teil meiner Buttons angezeigt? AWT, Swing, JavaFX & SWT 1
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
J TicTacToe Buttons AWT, Swing, JavaFX & SWT 14
J ActionListener bei Buttons AWT, Swing, JavaFX & SWT 14
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
T Swing Double Click bei Buttons in JTable AWT, Swing, JavaFX & SWT 9
C Buttons funtionieren nicht AWT, Swing, JavaFX & SWT 10
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
G vorgefertigte Buttons oder neue Komponente mit MouseListener? AWT, Swing, JavaFX & SWT 0
Neumi5694 Sprache der Standard-Buttons AWT, Swing, JavaFX & SWT 7
Timo_neu_in_java Buttons Erstellen AWT, Swing, JavaFX & SWT 6
H JavaFX TableCell mit Buttons AWT, Swing, JavaFX & SWT 1
A Swing Programm funktioniert aber zwei Buttons werden angezeigt AWT, Swing, JavaFX & SWT 3
kilopack15 Buttons ohne Funktion AWT, Swing, JavaFX & SWT 2
S Keylistener reagiert bei Buttons nicht. AWT, Swing, JavaFX & SWT 8
S ActionListener für alle Buttons AWT, Swing, JavaFX & SWT 26
T Buttons auf Tablet viel kleiner als am PC AWT, Swing, JavaFX & SWT 0
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
R 2D-Grafik Buttons mit Slick2D und LWJGL AWT, Swing, JavaFX & SWT 2
J JavaFX Buttons mit Array erzeugen AWT, Swing, JavaFX & SWT 1
JG12111989 Buttons funktionieren nicht AWT, Swing, JavaFX & SWT 4
A Swing Buttons werden trotz setVisible nicht dargestellt AWT, Swing, JavaFX & SWT 14
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
X Swing Anwendung regaiert auf keine Buttons mehr wärend while(scanner.hasNextLine()) ausgeführt wird. AWT, Swing, JavaFX & SWT 4
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
A Swing JPanel zeigt Buttons nicht an AWT, Swing, JavaFX & SWT 4
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
I JavaFX Buttons und TableView AWT, Swing, JavaFX & SWT 2
K Swing Durch Methode erzeugte Buttons ansteuern AWT, Swing, JavaFX & SWT 5
D Buttons werden nebeneinander angeordnet AWT, Swing, JavaFX & SWT 9
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
D JavaFX Dynamisch erzeugte Buttons sollen Code ausführen. AWT, Swing, JavaFX & SWT 2
D Buttons erscheinen nicht auf Frame AWT, Swing, JavaFX & SWT 2
M 4-Gewinnt mit Buttons AWT, Swing, JavaFX & SWT 1
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
K Swing Keine Reaktion auf Tastatureingaben bei mehreren Buttons??? AWT, Swing, JavaFX & SWT 4
wolfgang63 JavaFX Transparenter Hintergrund aber sichtbare Buttons AWT, Swing, JavaFX & SWT 6
C Im ActionListener Buttons disablen, einen Thread starten, dann Buttons enablen AWT, Swing, JavaFX & SWT 2
gamebreiti auf usereingabe warten mit GUI(nur Labels, Buttons etc. keine Texteingaben) AWT, Swing, JavaFX & SWT 3
W Buttons verschieben AWT, Swing, JavaFX & SWT 3
R Swing Buttons werden nicht angezeigt AWT, Swing, JavaFX & SWT 4
P Buttons/Labels auf GUI positionieren AWT, Swing, JavaFX & SWT 2
X Swing setContentPane verdeckt mir alle Buttons Labels etc... AWT, Swing, JavaFX & SWT 14
H Taschenrechnerprojekt in Javafx - Frage zu den Buttons in FXML AWT, Swing, JavaFX & SWT 1
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
A Radio Buttons sollen den Text der text Area bestimmen AWT, Swing, JavaFX & SWT 9
H org.eclipse.swt.Slider ohne Buttons AWT, Swing, JavaFX & SWT 1
U Buttons schräg implementieren AWT, Swing, JavaFX & SWT 4
X buttons aus externe klasse lesen? AWT, Swing, JavaFX & SWT 3
V Buttons sehen immer "active" aus AWT, Swing, JavaFX & SWT 6
K Event Handling 2 Buttons und Thread stop AWT, Swing, JavaFX & SWT 3
D Buttons erscheinen nicht auf dem zweiten Frame AWT, Swing, JavaFX & SWT 4
D Wie kann ich Buttons und Labels besser anordnen AWT, Swing, JavaFX & SWT 4
C Probleme mit Buttons und einem ActionListener AWT, Swing, JavaFX & SWT 2
A Swing bei Auswahl und klick eines JComboBox buttons die Klasse eines anderen Projekts aufrufen AWT, Swing, JavaFX & SWT 3
M Menü mit Buttons AWT, Swing, JavaFX & SWT 8
H Swing JTabbedPane: Zusätzliche Buttons neben den Tabs AWT, Swing, JavaFX & SWT 7
A Swing Focus der Radio Buttons + text bleibt gleich und gleichzeitige ausgabe zweier Objekte in 1. Fenster AWT, Swing, JavaFX & SWT 3
U Swing Buttons generieren AWT, Swing, JavaFX & SWT 19
G Swing Buttons in Layouts frei platzieren AWT, Swing, JavaFX & SWT 7
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
B Buttons auf JLabel? AWT, Swing, JavaFX & SWT 4
J ActionListener für Buttons AWT, Swing, JavaFX & SWT 3
1 Buttons in Kombination mit Linien AWT, Swing, JavaFX & SWT 3
K Aussehen des Buttons resetten AWT, Swing, JavaFX & SWT 4
C Verschiebbare "Buttons" in einer Tabelle AWT, Swing, JavaFX & SWT 3
A JButton - Klicks zählen auf mehreren Buttons AWT, Swing, JavaFX & SWT 2
H Swing Button Klick soll "Untermenü-Buttons" erzeugen AWT, Swing, JavaFX & SWT 2
dzim Toolbar - Problem bei enable/disable von Buttons AWT, Swing, JavaFX & SWT 6
E Netbeans: Buttons mit Label bzw. Rahmen unterlegen AWT, Swing, JavaFX & SWT 8
F Grafik mit Buttons versehen AWT, Swing, JavaFX & SWT 8
J JOptionPane mit zwei Buttons?! AWT, Swing, JavaFX & SWT 3
K Schachbrett mit buttons AWT, Swing, JavaFX & SWT 2
B Buttons entfernen / hinzufügen AWT, Swing, JavaFX & SWT 5
TheWhiteShadow Swing Buttons in Liste AWT, Swing, JavaFX & SWT 7
C AWT Buttons verschwinden, wenn Fenster Vollbild gesetzt wird AWT, Swing, JavaFX & SWT 38
C AWT Verwendung von Buttons in Spielen AWT, Swing, JavaFX & SWT 8
M Swing Focus für Buttons deaktiviert --> keine Reaktion mehr auf Tastendrücke AWT, Swing, JavaFX & SWT 5
E Calendar GUI Buttons AWT, Swing, JavaFX & SWT 4
M 2 Buttons mit derselben Breite AWT, Swing, JavaFX & SWT 9

Ähnliche Java Themen

Neue Themen


Oben