Gridbaglayout

JVolker

Aktives Mitglied
Hallo,

kann mir jemand bei meinem Gridbaglayout helfen ich bin leicht am verzweifeln. Dacht eigentlich schon das ich es verstanden hbe das mit der Gewichtung der Zellen haut bei mir immer alles durcheinander.

Mein Problem ist folgendes das wenn ich am Anfang mein Programm aufrufe dann stimmen die ganzen Abstände so wie ich mir das vorstelle. Dann wähle ich mit der Combobox ein anderes Panel zum anzeigen aus und es verschiebt sich alles und wenn ich wieder zurück in das Anfangsfenster wechsle dann wird die Jtable noch kleiner und bei jedem wechsel wird die Jtable kleiner und das Card-Panel Größer. (Aber nur wenn ich dort eine Gewichtung eingebe (x-wert) wenn da 0 steht dann ist mir die Anzeige aber zu klein.

hier mal ein bissl Code :

Java:
  c.gridx = 0;                        // x-Position
  c.gridy = 0;                        // y-Position
  c.gridwidth = 10;                    // Breite
  c.gridheight = 1;                   // Höhe
  c.weightx = 0.0;                     // Breite
  c.weighty = 0.0; 
  gbl.setConstraints(toolBar, c);          // zum GridBagConstraints hinzufügen
  add(toolBar);


//**************************************************************************************************++

/** JTable initialisieren und auf dem Layout plazieren */


j = new TableFilterDemo();                                                      // Erzeuge neue JTable

  c.gridx = 0;
  c.gridy = 1;
  c.gridwidth = 7;
  c.gridheight = 4;
  c.weightx = 1.0;                     
  c.weighty = 0.6;
  gbl.setConstraints(j, c);
  add(j);

//**************************************************************************************************++

/** Infochooser initialisieren und auf dem Layout plazieren */


Border blackline = BorderFactory.createLineBorder(Color.black);                  //umrandung des JLabels schwarz

JPanel infoChooser = new JPanel();

textLabel = new JLabel("Infochooser");
textLabel.setBorder(blackline);



auswahlSchalter = new JComboBox<String>();
auswahlSchalter.addItem(TEST1);
auswahlSchalter.addItem(TEST2);
auswahlSchalter.addItem(TEST3);
auswahlSchalter.addItem(TEST4);
auswahlSchalter.addItem(TEST5);
auswahlSchalter.addItemListener(new BoxListener());


infoChooser.add(auswahlSchalter);





                                              // Panel für den die Auswahl des Vorschaufensters

  c.gridx = 7;
  c.gridy = 1;
  c.gridwidth = 3;
  c.gridheight = 1;
  c.weightx = 0.2;                     
  c.weighty = 0.0;
  gbl.setConstraints(infoChooser, c);
  add(infoChooser);


//**************************************************************************************************++

/** Infopanel initialisieren und auf dem Layout plazieren */

//public void panelInfo(int i){
    z = new ZeichenPanel(); // Erzeuge neue Zeichnung
    
  c.gridx = 0;
  c.gridy = 5;
  c.gridwidth = 5;
  c.gridheight = 5 ;
  c.weightx = 1.0;                                                                 // Breite
  c.weighty = 0.5;
  gbl.setConstraints(z, c);
  add(z);
    
    
    
    
    
    
    textLabel1 = new JLabel("Infopanel");
    textLabel1.setBorder(blackline);
    
    card1 = new JPanel();
    card1.add(new JTextField("Arschgeige"));
    
    JTextPane card2 = new JTextPane();
    //card2.add(new JTextField("TextField"));
    JScrollPane scrollPane = new JScrollPane(card2); 
    //scrollPane.setPreferredSize(new Dimension(200, 200)); 
    
    
    //JPanel card3 = new JPanel();
    ta1 = new JTextArea("TTTTTTTT");
    ta1.setLineWrap(true) ;
    ta1.setWrapStyleWord(true);
    sp1 = new JScrollPane(ta1);
    //card3.add(sp1);
    
    
    
    cards = new JPanel(new CardLayout());
    cards.add(sp1         , TEST1);
    cards.add(textLabel1, TEST2);
    cards.add(card1     , TEST3);
    cards.add(card2     , TEST4);
    

  
  c.gridx = 7;
  c.gridy = 2;
  c.gridwidth = 3;
  c.gridheight =8 ;
  c.weightx = 0.2;                                                                 // Breite
  c.weighty = 0.0;
  gbl.setConstraints(cards, c);
  add(cards);
 
  JButton but5 = new JButton(new ImageIcon("C:/JAVA/Coffee.bmp"));
  c.gridx = 5;
  c.gridy = 5;
  c.gridwidth = 2;
  c.gridheight = 5;
  c.weightx = 0.2;                     // Breite
  c.weighty = 0.5;
  gbl.setConstraints(but5, c);
  add(but5);

Dankeschön
 

jonius

Aktives Mitglied
Ich habe mir deinen Code zwar nicht so genau angeschaut, aber manchmal kann es helfen, das JPanel unsichtbar und sofort wieder sichtbar zu setzen, weil dann der Layout-Manager neu berechnet. Also z.B.:
Code:
cards.setVisible(false);cards.setVisible(true);
 

jgh

Top Contributor
da du leider kein KSKB postest, kann man nur vermuten, warum sich das Layout so verhält.
Evtl. langt es schon, wenn du für jede Komponente einen eigenen(neuen) GridBagConstraints nimmst und diesen dann auch wie in diesem Bsp nutzt.

Java:
GridBagConstraints c= new GridBagConstraints();
c.gridx = 0;                        // x-Position
  c.gridy = 0;                        // y-Position
  c.gridwidth = 10;                    // Breite
  c.gridheight = 1;                   // Höhe
  c.weightx = 0.0;                     // Breite
  c.weighty = 0.0; 
//  gbl.setConstraints(toolBar, c);          // zum GridBagConstraints hinzufügen
  add(toolBar, c);
 
 
//**************************************************************************************************++
 
/** JTable initialisieren und auf dem Layout plazieren */
 
 GridBagConstraints d= new GridBagConstraints();
j = new TableFilterDemo();                                                      // Erzeuge neue JTable
 
  d.gridx = 0;
  d.gridy = 1;
  d.gridwidth = 7;
  d.gridheight = 4;
  d.weightx = 1.0;                     
  d.weighty = 0.6;
  //gbl.setConstraints(j, c);
  add(j,d);
 
Ä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
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
N GridBagLayout: gleichmäßige verteilung von Komponenten Java Basics - Anfänger-Themen 23
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

Ähnliche Java Themen

Neue Themen


Oben