GridBagLayout: gleichmäßige verteilung von Komponenten

Status
Nicht offen für weitere Antworten.
N

Natas

Gast
Hallole,

ay80rpvh5mqeswo4q.png


wie verteile ich die untersten 3 Buttons gleichmäßig über ein GridWidth von 4 ?
 
S

SlaterB

Gast
gar nicht,
stecke sie in ein eigenes JPanel und fülle damit die untere Zeile,

Gridgrenzen kannst du nicht verschränken,
senkrechte Striche sind entweder nicht vorhanden oder auf gleicher Breite (Höhe),

ganz gemein könntest du noch statt 4 nun 6 Spalten einfügen und button1-8 auch noch bearbeiten (2, 3, 6 und 7 müssten dann (auch) mehrere Spalten belegen),
schön würde das allerdings nicht werden,
also lieber mit Extra-JPanel für diese Zeile
 

Niki

Top Contributor
Die musst du in einen eigenen JPanel tun, in diesem Panel hätte dann jeder Button die gleiche Größe, sprich weightx = 1 und fill = GridBagConstraints.HORIZONTAL bei allen. Den Panel kannst du dann mit gridwidth 4 hinzufügen. Eine andere Lösung gibt es nicht
 
N

Natas

Gast
SlaterB hat gesagt.:
gar nicht,
stecke sie in ein eigenes JPanel und fülle damit die untere Zeile,

Code:
 JPanel test = new JPanel();
        test.add( test1,test1Constraints);   
        test.add( test2,test2Constraints);   
        test.add( test3,test3Constraints); 
        add(test);

testn sind 3 buttons...

ay81513h1oz2yiey2.png


warum rutscht das hoch?
 
N

Natas

Gast
Niki hat gesagt.:
weil du bei add(test) die constraints nicht mit gibst
Code:
GridBagLayout gBag = new GridBagLayout();
    	GridBagConstraints constraints = new GridBagConstraints();
    	JPanel panel = new JPanel();        
    	gBag.setConstraints(panel,constraints);
        
        panel.add( test1,test1Constraints);   
        panel.add( test2,test2Constraints);   
        panel.add( test3,test3Constraints); 
        add(panel ,constraints);

gleiches Ergebnis! Was mache ich genau denn falsch, habe mit Constraints noch net so viel gemacht...
 
S

SlaterB

Gast
in diesen constraints steht ja überhaupt nicht, in welche Zeile es soll usw,

kopiere dir die Constrains von sub, textare oder bar,
ändere nur die Zeile und gut ist

> habe mit Constraints noch net so viel gemacht...

ohne GridBagLayout zu kennen würden ja alle Möglichkeiten nicht funktionieren
 
N

Natas

Gast
in diesen constraints steht ja überhaupt nicht, in welche Zeile es soll usw,

kopiere dir die Constrains von sub, textare oder bar,
ändere nur die Zeile und gut ist

ay84j85bcl419qwx6.png


GridBagConstraints.BOTH ist bei allen 3 buttons gesetzt müsste demnach sich ausbreiten tuts aber net?
 
N

Natas

Gast
test3Constraints.fill = GridBagConstraints.BOTH;

sorry obiges meinte ich
 
S

SlaterB

Gast
jo, weightx brauchts auch noch

Code:
public class TestGUI extends JFrame {

	public TestGUI() {

		JButton b1 = new JButton("Test1");
		JButton b2 = new JButton("Test2");
		JButton b3 = new JButton("Test3");
		JButton b4 = new JButton("Test4");
		JButton b5 = new JButton("Test5");
		JButton b6 = new JButton("Test6");

		JPanel a = new JPanel();
		a.setLayout(new GridBagLayout());
		GridBagConstraints c1 = new GridBagConstraints();
		c1.gridx = 0;
		c1.weightx = 1;
		c1.fill = GridBagConstraints.HORIZONTAL;
		a.add(b1, c1);
		GridBagConstraints c2 = new GridBagConstraints();
		c2.gridx = 1;
		c2.weightx = 1;
		c2.fill = GridBagConstraints.HORIZONTAL;
		a.add(b2, c2);

		JPanel b = new JPanel();
		b.setLayout(new GridBagLayout());
		GridBagConstraints c3 = new GridBagConstraints();
		c3.gridy = 0;
		c3.gridwidth = 3;
		c3.fill = GridBagConstraints.HORIZONTAL;
		b.add(a, c3);
		GridBagConstraints c4 = new GridBagConstraints();
		c4.gridy = 1;
		c4.gridwidth = 3;
		c4.fill = GridBagConstraints.HORIZONTAL;
		b.add(b3, c4);

		GridBagConstraints c5 = new GridBagConstraints();
		c5.gridy = 2;
		c5.gridx = 0;
		c5.fill = GridBagConstraints.HORIZONTAL;
		b.add(b4, c5);
		GridBagConstraints c6 = new GridBagConstraints();
		c6.gridy = 2;
		c6.gridx =1;
		c6.fill = GridBagConstraints.HORIZONTAL;
		b.add(b5, c6);
		GridBagConstraints c7 = new GridBagConstraints();
		c7.gridy = 2;
		c7.gridx = 2;
		c7.fill = GridBagConstraints.HORIZONTAL;
		b.add(b6, c7);


		add(b, BorderLayout.SOUTH);
		setSize(400, 150);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setVisible(true);

	}

	public static void main(String[] args) {
		new TestGUI();
	}
}
 
N

Natas

Gast
danke dir und in dem Tutorial zum GridBagLayout von Beni ist ein Fehler:

GridBagConstraints.weightx bestimmt das "Gewicht" einer Component in vertikaler Richtung

muss weighty heißen ;P
 
N

Natas

Gast
Moment mal jetzt leck mich doch am Socken, weightx streckt doch die Buttons nicht um den leeren Raumauszufüllen???

das sind die 3 buttons ganz unten in meiner Leiste, kannst du diese so verändern, dass sie allen horizontalen Raum ausfüllen? Eigentlich sollte diese das schon mit der .fill = ...

Deine Lösung ist ganze anders wie meine Aufgabe, daher kann ich damit nicht so viel Anfangen, mir gehts ja nicht um fertigen Coden hinklatschen, sondern dass ich dabei was lerne ;-)

Code:
  //3Buttons in neuen Zeile
    JButton test1 = new JButton( "test1");
    GridBagConstraints test1Constraints = new GridBagConstraints();
    test1Constraints.gridx = 0;
    test1Constraints.gridy = 7;
    test1Constraints.gridwidth = 1;
    test1Constraints.gridheight = 1;
    test1Constraints.weightx = 2;
    test1Constraints.fill = GridBagConstraints.HORIZONTAL;

    JButton test2 = new JButton( "test2");
    GridBagConstraints test2Constraints = new GridBagConstraints();
    test2Constraints.gridx = 1;
    test2Constraints.gridy = 7;
    test2Constraints.gridwidth = 1;
    test2Constraints.gridheight = 1;
    test2Constraints.weightx = 2;
    test2Constraints.fill = GridBagConstraints.HORIZONTAL;

    JButton test3 = new JButton( "test3");
    GridBagConstraints test3Constraints = new GridBagConstraints();
    test3Constraints.gridx = 2;
    test3Constraints.gridy = 7;
    test3Constraints.gridwidth = 1;
    test3Constraints.gridheight = 1;
    test3Constraints.weightx = 3;
    test3Constraints.fill = GridBagConstraints.HORIZONTAL;
 
N

natas

Gast
@Slater

zudem hat dein weightx überhaupt nix mit deinen Buttons in der letzten Zeile zu tun, da weightx bei dir die Buttons oberhalb betrifft... und das ganz unten regelst du mit einem BorderLayout... ich willsch schon ohne BL machen.
 
S

SlaterB

Gast
ich habs in meinem Beispiel umgedreht ;),
wenn man das weightx wegläßt, dann belegen Button Test1 und Test2 nciht die ganze Spalte

ich mache mir jetzt nicht nochmal die Mühe all deine wirren Sätze zu entwirren,
schreibe doch ebenso ein fertiges Beispiel, dann habe ich wenigstens diese Mühe weniger
 
N

natas

Gast
SlaterB hat gesagt.:
ich habs in meinem Beispiel umgedreht ;),
wenn man das weightx wegläßt, dann belegen Button Test1 und Test2 nciht die ganze Spalte

ich mache mir jetzt nicht nochmal die Mühe all deine wirren Sätze zu entwirren,
schreibe doch ebenso ein fertiges Beispiel, dann habe ich wenigstens diese Mühe weniger

büde :)

Code:
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Window;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainWindow extends JFrame
{

    private static final long serialVersionUID = 1L;
    private JPanel panel = new JPanel();
    
    public MainWindow()
    {
        
        
       setLayout(new GridBagLayout());

    JButton top = new JButton( "top" );
    GridBagConstraints topConstraints = new GridBagConstraints();
    topConstraints.gridx = 0;
    topConstraints.gridy = 0;
    topConstraints.gridwidth = 4;
    topConstraints.gridheight = 1;
    topConstraints.fill = GridBagConstraints.HORIZONTAL;
    add( top, topConstraints );
    
    JButton base = new JButton( "base" );
    GridBagConstraints baseConstraints = new GridBagConstraints();
    baseConstraints.gridx = 0;
    baseConstraints.gridy = 1;
    baseConstraints.gridwidth = 4;
    baseConstraints.gridheight = 1;
    baseConstraints.fill = GridBagConstraints.HORIZONTAL;
    add( base, baseConstraints);
    
    JButton button1 = new JButton( "button 1");
    GridBagConstraints button1Constraints = new GridBagConstraints();
    button1Constraints.gridx = 0;
    button1Constraints.gridy = 2;
    button1Constraints.gridwidth = 1;
    button1Constraints.gridheight = 1;
    add( button1, button1Constraints );
    
    JButton button2 = new JButton( "button 2");
    GridBagConstraints button2Constraints = new GridBagConstraints();
    button2Constraints.gridx = 1;
    button2Constraints.gridy = 2;
    button2Constraints.gridwidth = 1;
    button2Constraints.gridheight = 1;
    add( button2, button2Constraints );
     
    JButton button3 = new JButton( "button 3");
    GridBagConstraints button3Constraints = new GridBagConstraints();
    button3Constraints.gridx = 2;
    button3Constraints.gridy = 2;
    button3Constraints.gridwidth = 1;
    button3Constraints.gridheight = 1;
    add( button3, button3Constraints );
         
    JButton button4 = new JButton( "bottom 4");
    GridBagConstraints button4Constraints = new GridBagConstraints();
    button4Constraints.gridx = 3;
    button4Constraints.gridy = 2;
    button4Constraints.gridwidth = 1;
    button4Constraints.gridheight = 1;
    add( button4, button4Constraints );
        
    // Neue Zeile
    JButton button5 = new JButton( "button 5");
    GridBagConstraints button5Constraints = new GridBagConstraints();
    button5Constraints.gridx = 0;
    button5Constraints.gridy = 3;
    button5Constraints.gridwidth = 1;
    button5Constraints.gridheight = 1;
    add( button5, button5Constraints );
        
    JButton button6 = new JButton( "button 6");
    GridBagConstraints button6Constraints = new GridBagConstraints();
    button6Constraints.gridx = 1;
    button6Constraints.gridy = 3;
    button6Constraints.gridwidth = 1;
    button6Constraints.gridheight = 1;
    add( button6, button6Constraints );
        
    JButton button7 = new JButton( "button 7");
    GridBagConstraints button7Constraints = new GridBagConstraints();
    button7Constraints.gridx = 2;
    button7Constraints.gridy = 3;
    button7Constraints.gridwidth = 1;
    button7Constraints.gridheight = 1;
    add( button7, button7Constraints );
        
    JButton button8 = new JButton( "bottom 8");
    GridBagConstraints button8Constraints = new GridBagConstraints();
    button8Constraints.gridx = 3;
    button8Constraints.gridy = 3;
    button8Constraints.gridwidth = 1;
    button8Constraints.gridheight = 1;
    add( button8, button8Constraints );
    
    //Neue Zeile
    JButton sub = new JButton( "sub" );
    GridBagConstraints subConstraints = new GridBagConstraints();
    subConstraints.gridx = 0;
    subConstraints.gridy = 4;
    subConstraints.gridwidth = 4;
    subConstraints.gridheight = 1;
    subConstraints.fill = GridBagConstraints.HORIZONTAL;
    add( sub, subConstraints);       
         
    //Neue Zeile
    JButton textarea = new JButton( "textarea" );
    GridBagConstraints textareaConstraints = new GridBagConstraints();
    textareaConstraints.gridx = 0;
    textareaConstraints.gridy = 5;
    textareaConstraints.gridwidth = 4;
    textareaConstraints.gridheight = 1;
    textareaConstraints.fill = GridBagConstraints.HORIZONTAL;
    add( textarea,textareaConstraints); 
     
    //Neue Zeile
    JButton bar = new JButton( "bar" );
    GridBagConstraints barConstraints = new GridBagConstraints();
    barConstraints.gridx = 0;
    barConstraints.gridy = 6;
    barConstraints.gridwidth = 4;
    barConstraints.gridheight = 1;
    barConstraints.fill = GridBagConstraints.HORIZONTAL;
    add( bar,barConstraints); 
        
    //3Buttons in neuen Zeile
    JButton test1 = new JButton( "test1");
    GridBagConstraints test1Constraints = new GridBagConstraints();
    test1Constraints.gridx = 0;
    test1Constraints.gridy = 7;
    test1Constraints.gridwidth = 1;
    test1Constraints.gridheight = 1;
    test1Constraints.weightx = 1;
    test1Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test1,test1Constraints);
    
    
    JButton test2 = new JButton( "test2");
    GridBagConstraints test2Constraints = new GridBagConstraints();
    test2Constraints.gridx = 1;
    test2Constraints.gridy = 7;
    test2Constraints.gridwidth = 1;
    test2Constraints.gridheight = 1;
    test2Constraints.weightx = 1;
    test2Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test2,test2Constraints);  
    
    
    JButton test3 = new JButton( "test3");
    GridBagConstraints test3Constraints = new GridBagConstraints();
    test3Constraints.gridx = 2;
    test3Constraints.gridy = 7;
    test3Constraints.gridwidth = 1;
    test3Constraints.gridheight = 1;
    test3Constraints.weightx = 1;
    test3Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test3,test3Constraints); 
     
    panel.setLayout(new GridBagLayout()); 
    GridBagConstraints panelConstraints = new GridBagConstraints();
    panelConstraints.gridx = 0;
    panelConstraints.gridy = 8;
    panelConstraints.gridwidth = 4;
    panelConstraints.gridheight = 1;
    panelConstraints.fill = GridBagConstraints.BOTH;    
    
    add(panel ,panelConstraints);       
     
    
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	     
    setVisible(true); 
    pack();
    
    }
	
	public static void main(String[] args)throws Exception
	{     
	      try             
	         { 
	          JFrame.setDefaultLookAndFeelDecorated(true);
	         }
	         catch (Exception e)
	         {
	           e.printStackTrace();
	         } 
	        
	         EventQueue.invokeLater(new Runnable()
	         {
	            public void run()
	            {        
	            try
	            {             
	               Window w = new MainWindow();
				w.setVisible(true);
				//AWTUtilities.setWindowOpacity(w, 0.5f);
	            }
	            catch (Exception e)
	            {            
	               e.printStackTrace();
	            }                      
	            }
	         });
	}
}
 
N

natas

Gast
Was muss ich denn noch machen, wenn jemand das fenster resized, dass alle Komponenten darin auch mitresized werden?
 

Niki

Top Contributor
Nur ein kleine Erklärung zu weightx und fill:

weightx und weighty geben an wieviel Restplatz eine Zelle bekommen soll. Das hat nur einen Effekt auf die größe der Komponente, wenn diese fill auf BOTH, VERTICAL oder HORIZONTAL gesetzt hat. Das fill gibt nämlich an, ob die Komponente den gesamten Zelleninhalt in die X, Y, oder beide Achsen ausfüllen soll.
Ergo brauchst du beides, damit die Komponenten sich auf die Größe anpassen. weightx auf 1 und fill auf HORIZONTAL
 
S

SlaterB

Gast
@natas:
dein Fehler ist, dass du erst die drei Buttons ins panel einfügst und DANN das GridLayout setzt,
sorum gehts nicht ;)

> dass alle Komponenten darin auch mitresized werden?

die goldene Regel kann ich dazu nicht sagen, bisschen probiert:
du musst dein GridBagLayout schon so bauen, dass es beliebig großen Platz haben WILL,

bisher ist das noch nicht so, aber z.B. wenn du

button2Constraints.weightx = 1;
button2Constraints.fill = GridBagConstraints.HORIZONTAL;

für button2 noch mit einbaust
 
N

Natas

Gast
SlaterB hat gesagt.:
@natas:
dein Fehler ist, dass du erst die drei Buttons ins panel einfügst und DANN das GridLayout setzt,
sorum gehts nicht ;)

> dass alle Komponenten darin auch mitresized werden?

die goldene Regel kann ich dazu nicht sagen, bisschen probiert:
du musst dein GridBagLayout schon so bauen, dass es beliebig großen Platz haben WILL,

bisher ist das noch nicht so, aber z.B. wenn du

button2Constraints.weightx = 1;
button2Constraints.fill = GridBagConstraints.HORIZONTAL;

für button2 noch mit einbaust


habe das GBL jetzt davor gesetzt, jetzt ist das 3 button problem gelöst, danke.

http://666kb.com/i/ay8wb2k4iezj0o1a0.png

habe nun alle buttons mit:

Code:
barConstraints.weightx = 1;
    barConstraints.fill = GridBagConstraints.BOTH;

ausgestattet.

Frage: Beim resizen des JFrame resizen sich die buttons nur in x-richtung nicht y-richtung?
 

Niki

Top Contributor
wenn du weighty auf 0 gelassen hast dann ja, du kannst aber statt dem BOTH besser noch HORIZONTAL sagen. Wie gesagt, die Komponente kann sich beim fill nur vergrößern wenn die Zelle auch mehr Platz bekommt. Das tut sie aber bei dir dann nur in die x-Achse.
 
N

Natas

Gast
SlaterB hat gesagt.:
weil du weightx/ weighty noch nicht verstanden hast?

ich habe Benis Tutorial verstanden, doch seine Beschreibung weichen von meinem Problem dahingehend ab, dass er kein Beispiel zeigt, wo ein Fenster resized wird und die Komponenten sich dann auch Vergrößern. In sein Beispiel wird lediglich gezeigt, dass mit weightx/y Leeraum in einem bestimmten VErhältnis zugeteilt wird. Auf Suns site finde ich in den swing tuts auch keine Info dazu das ist Schade, dass deren eigenes Produkt so wenig unterstützt wird.
 
N

natas

Gast
have fun!

Code:
import java.awt.EventQueue;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Window;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MainWindow extends JFrame
{

    private static final long serialVersionUID = 1L;
    private JPanel panel = new JPanel();
    
    public MainWindow()
    {
        
        
       setLayout(new GridBagLayout());

    JButton top = new JButton( "top" );
    GridBagConstraints topConstraints = new GridBagConstraints();
    topConstraints.gridx = 0;
    topConstraints.gridy = 0;
    topConstraints.gridwidth = 4;
    topConstraints.gridheight = 1; 
    topConstraints.weightx = 1; 
    topConstraints.weighty = 1;
    topConstraints.fill = GridBagConstraints.BOTH;
    add( top, topConstraints );
    
    JButton base = new JButton( "base" );
    GridBagConstraints baseConstraints = new GridBagConstraints();
    baseConstraints.gridx = 0;
    baseConstraints.gridy = 1;
    baseConstraints.gridwidth = 4;
    baseConstraints.gridheight = 1;
    baseConstraints.weightx = 1;
    baseConstraints.weighty = 1;
    baseConstraints.fill = GridBagConstraints.BOTH;
    add( base, baseConstraints);
    
    JButton button1 = new JButton( "button 1");
    GridBagConstraints button1Constraints = new GridBagConstraints();
    button1Constraints.gridx = 0;
    button1Constraints.gridy = 2;
    button1Constraints.gridwidth = 1;
    button1Constraints.gridheight = 1;
    button1Constraints.weightx = 1;
    button1Constraints.weighty = 1;
    button1Constraints.fill = GridBagConstraints.BOTH;
    add( button1, button1Constraints );
    
    JButton button2 = new JButton( "button 2");
    GridBagConstraints button2Constraints = new GridBagConstraints();
    button2Constraints.gridx = 1;
    button2Constraints.gridy = 2;
    button2Constraints.gridwidth = 1;
    button2Constraints.gridheight = 1;
    button2Constraints.weightx = 1;
    button2Constraints.fill = GridBagConstraints.BOTH; 
    add( button2, button2Constraints );
     
    JButton button3 = new JButton( "button 3");
    GridBagConstraints button3Constraints = new GridBagConstraints();
    button3Constraints.gridx = 2;
    button3Constraints.gridy = 2;
    button3Constraints.gridwidth = 1;
    button3Constraints.gridheight = 1;
    button3Constraints.weightx = 1;
    button3Constraints.fill = GridBagConstraints.BOTH;
    add( button3, button3Constraints );
         
    JButton button4 = new JButton( "bottom 4");
    GridBagConstraints button4Constraints = new GridBagConstraints();
    button4Constraints.gridx = 3;
    button4Constraints.gridy = 2;
    button4Constraints.gridwidth = 1;
    button4Constraints.gridheight = 1;
    button4Constraints.weightx = 1;
    button4Constraints.fill = GridBagConstraints.BOTH;
    add( button4, button4Constraints );
        
    // Neue Zeile
    JButton button5 = new JButton( "button 5");
    GridBagConstraints button5Constraints = new GridBagConstraints();
    button5Constraints.gridx = 0;
    button5Constraints.gridy = 3;
    button5Constraints.gridwidth = 1;
    button5Constraints.gridheight = 1;
    button5Constraints.weightx = 1;
    button5Constraints.weighty = 1; 
    button5Constraints.fill = GridBagConstraints.BOTH;
    add( button5, button5Constraints );
        
    JButton button6 = new JButton( "button 6");
    GridBagConstraints button6Constraints = new GridBagConstraints();
    button6Constraints.gridx = 1;
    button6Constraints.gridy = 3;
    button6Constraints.gridwidth = 1;
    button6Constraints.gridheight = 1;
    button6Constraints.weightx = 1;    
    button6Constraints.fill = GridBagConstraints.BOTH;
    add( button6, button6Constraints );
        
    JButton button7 = new JButton( "button 7");
    GridBagConstraints button7Constraints = new GridBagConstraints();
    button7Constraints.gridx = 2;
    button7Constraints.gridy = 3;
    button7Constraints.gridwidth = 1;
    button7Constraints.gridheight = 1;
    button7Constraints.weightx = 1;
    button7Constraints.weighty = 1; 
    button7Constraints.fill = GridBagConstraints.BOTH;
    add( button7, button7Constraints );
        
    JButton button8 = new JButton( "bottom 8");
    GridBagConstraints button8Constraints = new GridBagConstraints();
    button8Constraints.gridx = 3;
    button8Constraints.gridy = 3;
    button8Constraints.gridwidth = 1;
    button8Constraints.gridheight = 1;
    button8Constraints.weightx = 1;
    button8Constraints.weighty = 1; 
    button8Constraints.fill = GridBagConstraints.BOTH;
    add( button8, button8Constraints );
    
    //Neue Zeile
    JButton sub = new JButton( "sub" );
    GridBagConstraints subConstraints = new GridBagConstraints();
    subConstraints.gridx = 0;
    subConstraints.gridy = 4;
    subConstraints.gridwidth = 4;
    subConstraints.gridheight = 1;
    subConstraints.weightx = 1;
    subConstraints.weighty = 1; 
    subConstraints.fill = GridBagConstraints.BOTH;
    add( sub, subConstraints);       
         
    //Neue Zeile
    JButton textarea = new JButton( "textarea" );
    GridBagConstraints textareaConstraints = new GridBagConstraints();
    textareaConstraints.gridx = 0;
    textareaConstraints.gridy = 5;
    textareaConstraints.gridwidth = 4;
    textareaConstraints.gridheight = 1;
    textareaConstraints.ipady = 50;
    textareaConstraints.weightx = 1;
    textareaConstraints.weighty = 1; 
    textareaConstraints.fill = GridBagConstraints.BOTH;
    add( textarea,textareaConstraints); 
     
    //Neue Zeile
    JButton bar = new JButton( "bar" );
    GridBagConstraints barConstraints = new GridBagConstraints();
    barConstraints.gridx = 0;
    barConstraints.gridy = 6;
    barConstraints.gridwidth = 4;
    barConstraints.gridheight = 1;
    barConstraints.weightx = 1;
    barConstraints.weighty = 1;
    barConstraints.fill = GridBagConstraints.BOTH;
    add( bar,barConstraints); 
        
    // Neues Layout setzen für die untersten 3 Komponenten
    panel.setLayout(new GridBagLayout()); 
    
    //3Buttons in neuen Zeile
    JButton test1 = new JButton( "test1");
    GridBagConstraints test1Constraints = new GridBagConstraints();
    test1Constraints.gridx = 0;
    test1Constraints.gridy = 7;
    test1Constraints.gridwidth = 1;
    test1Constraints.gridheight = 1;
    test1Constraints.weightx = 1;
    test1Constraints.weighty = 1;
    test1Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test1,test1Constraints);
    
    
    JButton test2 = new JButton( "test2");
    GridBagConstraints test2Constraints = new GridBagConstraints();
    test2Constraints.gridx = 1;
    test2Constraints.gridy = 7;
    test2Constraints.gridwidth = 1;
    test2Constraints.gridheight = 1;
    test2Constraints.weightx = 1;
    test2Constraints.weighty = 1;
    test2Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test2,test2Constraints);  
    
    
    JButton test3 = new JButton( "test3");
    GridBagConstraints test3Constraints = new GridBagConstraints();
    test3Constraints.gridx = 2;
    test3Constraints.gridy = 7;
    test3Constraints.gridwidth = 1;
    test3Constraints.gridheight = 1;
    test3Constraints.weightx = 1;
    test3Constraints.weighty = 1;
    test3Constraints.fill = GridBagConstraints.BOTH;
    panel.add( test3,test3Constraints);      
    
    GridBagConstraints panelConstraints = new GridBagConstraints();   
    panelConstraints.gridy = 8;
    panelConstraints.gridheight = 1;
    panelConstraints.gridwidth = 4; 
    panelConstraints.weighty = 1;
    panelConstraints.fill = GridBagConstraints.BOTH;    
    
    add(panel ,panelConstraints);       
     
    
    setLocationRelativeTo(null);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	     
    setVisible(true); 
    pack();
    
    }
	
	public static void main(String[] args)throws Exception
	{     
	      try             
	         { 
	          JFrame.setDefaultLookAndFeelDecorated(true);
	         }
	         catch (Exception e)
	         {
	           e.printStackTrace();
	         } 
	        
	         EventQueue.invokeLater(new Runnable()
	         {
	            public void run()
	            {        
	            try
	            {             
	               Window w = new MainWindow();
				w.setVisible(true);
				//AWTUtilities.setWindowOpacity(w, 0.5f);
	            }
	            catch (Exception e)
	            {            
	               e.printStackTrace();
	            }                      
	            }
	         });
	}
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Erstellen eines insets Objekts, GridBagLayout Java Basics - Anfänger-Themen 13
AnnaBauer21 GridBagLayout JLabel weightx: Unterschiedliche Breite mit & ohne Text Java Basics - Anfänger-Themen 6
B Image laden im GridBagLayout Java Basics - Anfänger-Themen 3
A GridBagLayout Fehler Java Basics - Anfänger-Themen 7
S Gridbaglayout Problem Java Basics - Anfänger-Themen 2
B GridBagLayout in der oberen rechten Ecke starten statt mittig Java Basics - Anfänger-Themen 2
L Das erste Mal GridBagLayout - wie geht das? Java Basics - Anfänger-Themen 5
J Gridbaglayout Java Basics - Anfänger-Themen 2
S Swing, Gridbaglayout Panel in Panel;funzt nicht!! Java Basics - Anfänger-Themen 3
K GridBagLayout Java Basics - Anfänger-Themen 7
L Fenster winzig klein durch GridBagLayout Java Basics - Anfänger-Themen 3
R GridBagLayout funktioniert nicht Java Basics - Anfänger-Themen 3
Y add Funktion für GridBagLayout zeigt Button nicht an Java Basics - Anfänger-Themen 3
L Swing GridBagLayout Java Basics - Anfänger-Themen 3
M GridBagLayout-Problem Java Basics - Anfänger-Themen 13
S GridBagLayout neue Objekte hinzufügen Java Basics - Anfänger-Themen 3
N JPanel - Gridbaglayout Java Basics - Anfänger-Themen 11
T GridBagLayout Autoanpassung Java Basics - Anfänger-Themen 6
X GridBagLayout Komponenten Anordnungsproblem Java Basics - Anfänger-Themen 4
S JTable in GridBagLayout zwingen Java Basics - Anfänger-Themen 2
S GridBagLayout: Problemchen Java Basics - Anfänger-Themen 2
Antoras weightx bei GridBagLayout Java Basics - Anfänger-Themen 2
C GridBagLayout Java Basics - Anfänger-Themen 6
J JButtons mit GridBagLayout anordnen Java Basics - Anfänger-Themen 9
I Swing-Komponenten-Größe im GridBagLayout beschränken Java Basics - Anfänger-Themen 2
G GridBagLayout und JTable Java Basics - Anfänger-Themen 2
D GridbagLayout Java Basics - Anfänger-Themen 16
G GridBagLayout Java Basics - Anfänger-Themen 3
G GridBagLayout einstellen Java Basics - Anfänger-Themen 5
W GridBagLayout und JTable Java Basics - Anfänger-Themen 4
C GridBagLayout BIld an variabler Stelle einfügen Java Basics - Anfänger-Themen 2
K Gridbaglayout, wie geht das? Java Basics - Anfänger-Themen 2
D GridBagLayout Java Basics - Anfänger-Themen 2
G GridBagLayout -> Wie werden Elemente "zentriert&quot Java Basics - Anfänger-Themen 7
J Problem mit GridBagLayout und JPanel Java Basics - Anfänger-Themen 4
M Problem mit Aktualisierung von GridBagLayout Java Basics - Anfänger-Themen 2
D GridBagLayout Java Basics - Anfänger-Themen 4
T ungewollte zentrierte Ausrichtung im Gridbaglayout Java Basics - Anfänger-Themen 5
M Problem mit GridBagLayout Java Basics - Anfänger-Themen 3
R GridBagLayout und JTextField: Textfeld ist viel zu schmal Java Basics - Anfänger-Themen 4
C Size JTextField in GridBagLayout Java Basics - Anfänger-Themen 2
J image im gridbaglayout? Java Basics - Anfänger-Themen 2
H GridBagLayout Java Basics - Anfänger-Themen 2
C Button in GridBagLayout einstellen Java Basics - Anfänger-Themen 4
K GridBagLayout, JFrame und Scrollen Java Basics - Anfänger-Themen 4
G GridBagLayout Java Basics - Anfänger-Themen 5
ShapeShifter GridBagLayout Java Basics - Anfänger-Themen 7
M GridBagLayout und enthaltende komponenten Java Basics - Anfänger-Themen 5
G GridBagLayout wie? Grundgerüst leicht komplex. Java Basics - Anfänger-Themen 2
G Linie/Gitter in GridBagLayout Java Basics - Anfänger-Themen 4
G GridBagLayout: Verständnisproblem Java Basics - Anfänger-Themen 5
P GridBagLayout Java Basics - Anfänger-Themen 2
T Round Robin Gleichmäßige Verteilung Java Basics - Anfänger-Themen 3
S Welche Verteilung? Java Basics - Anfänger-Themen 1
S Array erzeugen mit verschiedener Verteilung Java Basics - Anfänger-Themen 11
T Optimale Verteilung von Produkten Java Basics - Anfänger-Themen 2
X Pareto Verteilung Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben