BorderLayout/JSplitPane Problem beim Ausrichten

Status
Nicht offen für weitere Antworten.

battle4ngel

Mitglied
Hi,

ich bastel derzeit ein wenig mit Swing. Ich gerne ein zweigeteiltes Fenster haben, auf der Linken Seite ein paar Buttons auf der Rechten Seite ein kleines Formular. Das funktioniert auch soweit, allerdings habe ich das Problem das auf der Rechten Seite alle Componenten zentiert erscheinen.
Ich habe zuerst mit BorderLayout gearbeitet und BorderLayout.LEFT und BorderLayout.CENTER, da all meine Bemühungen die Componenten im Center linksbündig zu bekommen fehlgeschlagen sind, habe ich es mit JSplitPane probiert allerdings mit einem ähnlichem Ergebniss.

Code:
public class passwordViewer extends JDialog
{
    private JPanel panelLinks, panelRechts;
    private JComboBox boxAnrede;
    labelAnrede = new JLabel("Anrede: ");

    public passwordViewer()
    {
        super("Tabellen");
         init();
         show();
    }
    
    void init()
    {
        panelLinks = new JPanel();
        panelRechts = new JPanel(new FlowLayout(FlowLayout.LEFT));
        
        panelLinks.setBorder(BorderFactory.createTitledBorder( 
                           BorderFactory.createBevelBorder(BevelBorder.LOWERED),
                           "Benutzer",
                           TitledBorder.CENTER,
                           TitledBorder.TOP,
                           new Font("Dialog.Plain",0,12)
                           ));
       panelLinks.setPreferredSize(new Dimension(100, 200));
      
       panelRechts.setBorder(BorderFactory.createTitledBorder(
                           BorderFactory.createBevelBorder(BevelBorder.LOWERED),
                           "Zuordnungen der Benutzer zu Prüfgruppen",
                           TitledBorder.CENTER,
                           TitledBorder.TOP,
                           new Font("Dialog.Plain",0,12)
                           ));
         
       makeJList();
       makeRightPanel();
           
       this.getContentPane().add(panelLinks, BorderLayout.WEST);
       this.getContentPane().add(panelRechts, BorderLayout.CENTER);
    }

    void makeJList()
    {
    //Jlist bekommt Daten wird initialisiert etc.
    }

    private void makeRightPanel()
   {
    
       String[] anrede = {"Herr" , "Frau"};
       boxAnrede = new JComboBox(anrede);
       
       
       GridBagConstraints cons = new GridBagConstraints();
      
   
       panelRechts.setLayout(new GridBagLayout());
    
       cons.gridwidth = GridBagConstraints.RELATIVE;
       panelRechts.add(labelAnrede, cons);
       cons.gridwidth = GridBagConstraints.REMAINDER;
       panelRechts.add(boxAnrede, cons);
    }
}

hab ich mögl. ein grundsätzlichs Problem mit dem GridBaglayout? denn die panelRechts scheint das komplette Fenster rechts auszufüllen, nur die Inhalte mögen nicht nach links.

Ich hoffe jemand hat vielleicht nen Rat wo mein Fehler ist

mfg

Marijke
 
G

Guest

Gast
Gewöhne dir eine andere Syntax für die Beschreibung von GridBagLayout (siehe unten).
Es hilft, wenn du dir das Layout vorher aufzeichnest und horizontale und
vertikale Linien zwischen den Komponenten ziehst.
Dadurch siehst du, in welche Zeile/Spalte jede Komponente kommt und
wieviele Zeilen/Spalten sie beansprucht.
Code:
panelRechts.setLayout(new GridBagLayout());
// Rand im Inneren des Panels
panelRechts.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

panelRechts.add(labelAnrede,      new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST,      GridBagConstraints.NONE, new Insets(0, 0, 0, 0),   0, 0));
panelRechts.add(boxAnrede,        new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 5, 0, 0), 150, 0));

// Platzhalter, der den übrigen Platz im Panel ausfüllt.
panelRechts.add(Box.createGlue(), new GridBagConstraints(0, 1, 2, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0),   0, 0));
 

battle4ngel

Mitglied
Hi,

danke für die schnelle Antwort, ich habe es mit der Syntax auch probiert, allerdings habe ich auch damit keinen Erfolg gehabt und das gesammte GridBagLayout war in sich schön linksbündig (also Text und Combobox) aber leider nicht im Panel :/

mfg

Marijke

[edit]

sry, es klappt doch danke dir :applaus: :D , Fehler meinerseits! nochmals vielen Dank
 

battle4ngel

Mitglied
Hm eine Frage hab ich noch wenn ich jetzt eine neues label einfüen will für die nächste Zeile, müßte doch dann

Code:
panelRechts.add(labelVorname, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, 
               GridBagConstraints.NONE, new Insets(0, 0, 0, 0),   0, 0));

reichen oder?
Leider fängt er keine neue Zeile an sondern macht hinter der combobox weiter :/

[edit]
vergiss es ich bin heute verplant, ich habs, ich glaub ich mach mal ne pause :oops:
 
G

Guest

Gast
Genau so. :toll:
Achte aber darauf, dass du am Ende den Platzhalter in die korrekte Zeile positionierst.
Diese Schreibweise ist etwas umständlich, aber übersichtlicher als nur einzelne Attribute
der Constraints zu ändern. Möchte man etwas ändern, hat es weniger Auswirkungen auf
folgende Komponenten.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S JSplitpane in BorderLayout nutzen AWT, Swing, JavaFX & SWT 4
K JavaFX Resizing-Problem beim BorderLayout (Center Component) beim Arbeiten mit mehreren FXMLs AWT, Swing, JavaFX & SWT 2
L BorderLayout in BorderLayout verknüpfen AWT, Swing, JavaFX & SWT 2
M Bewegtes Bild im BorderLayout.CENTER AWT, Swing, JavaFX & SWT 6
F BorderLayout Hilfe bei Anzeige AWT, Swing, JavaFX & SWT 2
B AWT Panel größe im BorderLayout einstellen AWT, Swing, JavaFX & SWT 1
C Swing Borderlayout im JFrame AWT, Swing, JavaFX & SWT 4
C Swing Geschachteltes GUI mit BorderLayout - Vertikal & horizontal Verschieben AWT, Swing, JavaFX & SWT 1
P AWT BorderLayout AWT, Swing, JavaFX & SWT 2
A BorderLayout "Center" Inhalt wechseln AWT, Swing, JavaFX & SWT 1
S Swing [CLOSED] NullPointerException bei BorderLayout() AWT, Swing, JavaFX & SWT 8
S JScrollPane und BorderLayout AWT, Swing, JavaFX & SWT 1
B Swing Borderlayout East über North AWT, Swing, JavaFX & SWT 5
Q JFrame/BorderLayout AWT, Swing, JavaFX & SWT 3
A LayoutManager Höhe von NORTH beim BorderLayout ändern AWT, Swing, JavaFX & SWT 4
bluerob Panel im BorderLayout South wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
M BorderLayout JPanel liegt nicht richtig an AWT, Swing, JavaFX & SWT 12
R BorderLayout AWT, Swing, JavaFX & SWT 4
C LayoutManager BorderLayout im richtigen Format beschriften AWT, Swing, JavaFX & SWT 10
C CardLayout in BorderLayout? AWT, Swing, JavaFX & SWT 36
S Problem mit BorderLayout NORTH und SOUTH AWT, Swing, JavaFX & SWT 2
T Borderlayout Ecken AWT, Swing, JavaFX & SWT 2
H Swing JInternalFrame, JDesktopPane und ein BorderLayout AWT, Swing, JavaFX & SWT 2
R Problem mit Box bzw BorderLayout AWT, Swing, JavaFX & SWT 6
G LayoutManager BorderLayout WEST Bereich auf maximale Größe beschränken AWT, Swing, JavaFX & SWT 19
P LayoutManager BorderLayout - Zweimal Norden ? AWT, Swing, JavaFX & SWT 4
E LayoutManager GridBagLayout in BorderLayout - Abstand bei Resizing AWT, Swing, JavaFX & SWT 2
R BorderLayout: EAST, CENTER, WEST AWT, Swing, JavaFX & SWT 5
2 AWT Borderlayout: Grafikelemente ein und ausblenden AWT, Swing, JavaFX & SWT 2
J LayoutManager BorderLayout - 2 Buttons in SOUTH nebeneinander platzieren? AWT, Swing, JavaFX & SWT 3
N JPanel vertikal im BorderLayout zentrieren AWT, Swing, JavaFX & SWT 2
S Anordnen von Buttons im BorderLayout AWT, Swing, JavaFX & SWT 6
F Im BorderLayout eine feste Grösse zuweisen! AWT, Swing, JavaFX & SWT 9
K LayoutManager Borderlayout - NORTH aktualisieren AWT, Swing, JavaFX & SWT 10
B Swing BorderLayout und JPanel AWT, Swing, JavaFX & SWT 3
A GUI Komponenten in Borderlayout zeichnen AWT, Swing, JavaFX & SWT 3
B BorderLayout AWT, Swing, JavaFX & SWT 8
S Swing BorderLayout + Backgroundcolor AWT, Swing, JavaFX & SWT 3
0din Austausch von JPanel in BorderLayout AWT, Swing, JavaFX & SWT 3
X Instanzieren und Zuweisen vom BorderLayout an Container nicht notwendig ? AWT, Swing, JavaFX & SWT 4
E AWT Formatierung in BorderLayout AWT, Swing, JavaFX & SWT 10
D Resizeverhalten BorderLayout AWT, Swing, JavaFX & SWT 3
calzone Swing und BorderLayout AWT, Swing, JavaFX & SWT 11
Strahlungsleck Problem mit dem Anzeigen von Elementen im BorderLayout AWT, Swing, JavaFX & SWT 6
R LayoutManager ähnlich BorderLayout, mit einer Ausnahme AWT, Swing, JavaFX & SWT 2
D BorderLayout.Center mit 3 Panel und dynamischer Größe AWT, Swing, JavaFX & SWT 2
P Probleme bei BorderLayout im JPanel AWT, Swing, JavaFX & SWT 7
G Komponente oben positionieren (BorderLayout) AWT, Swing, JavaFX & SWT 3
G BorderLayout - zentrieren AWT, Swing, JavaFX & SWT 1
S [BorderLayout]WEST/EAST sollen über ganze Höhe gehen; AWT, Swing, JavaFX & SWT 3
A BorderLayout Verhältnis festlegen? AWT, Swing, JavaFX & SWT 5
F Farbe für den Hintergrund eine BorderLayout-Teils AWT, Swing, JavaFX & SWT 5
O Probleme bei BorderLayout AWT, Swing, JavaFX & SWT 5
H Bei BorderLayout SOUTH minimieren AWT, Swing, JavaFX & SWT 3
DeeDee0815 Abstand ZUM BorderLayout AWT, Swing, JavaFX & SWT 13
K BorderLayout--> feste Größe AWT, Swing, JavaFX & SWT 2
D BorderLayout + Buttongröße ändern AWT, Swing, JavaFX & SWT 4
P JPanel im BorderLayout feste Größe/Position zuordnen AWT, Swing, JavaFX & SWT 3
L Alle Inhalte in BorderLayout.CENTER löschen? AWT, Swing, JavaFX & SWT 2
M Layout Problem (GrudBag- + BorderLayout) AWT, Swing, JavaFX & SWT 6
O GridBag IN BorderLayout? AWT, Swing, JavaFX & SWT 5
J BorderLayout / 1 Panel in Mitte und 1 Panel im Osten anordne AWT, Swing, JavaFX & SWT 6
F FlowLayout in BorderLayout AWT, Swing, JavaFX & SWT 4
D BorderLayout mit JTextField AWT, Swing, JavaFX & SWT 7
B BorderLayout.WEST (JTree strecken in Höhe) AWT, Swing, JavaFX & SWT 2
F Anordnung im BorderLayout AWT, Swing, JavaFX & SWT 6
S Toolbar in einem BorderLayout verschieben AWT, Swing, JavaFX & SWT 4
M FlowLayout in BorderLayout einbinden? AWT, Swing, JavaFX & SWT 6
J Ermittlung der Ausrichtung einer Komponente im BorderLayout AWT, Swing, JavaFX & SWT 3
M AWT borderLayout AWT, Swing, JavaFX & SWT 7
R dummes BorderLayout :( AWT, Swing, JavaFX & SWT 8
H BorderLayout.setBackground AWT, Swing, JavaFX & SWT 2
J paint(Graphics g) im BorderLayout einem JPanel zuordnen &amp AWT, Swing, JavaFX & SWT 19
C Borderlayout und Checkboxgruppen AWT, Swing, JavaFX & SWT 3
frau-u Borderlayout - zusätzliche Zeile AWT, Swing, JavaFX & SWT 4
W Probleme mit BorderLayout AWT, Swing, JavaFX & SWT 2
H JTable im JSplitPane darstellen AWT, Swing, JavaFX & SWT 2
L JSplitPane Divider Location beim Maximieren AWT, Swing, JavaFX & SWT 6
M Buttons in JSplitPane hinzufügen AWT, Swing, JavaFX & SWT 6
L JSplitPane - auf Änderung reagieren AWT, Swing, JavaFX & SWT 4
D JSplitPane lässt sich nicht verschieben AWT, Swing, JavaFX & SWT 3
M Swing JSplitPane beide Seiten fixieren AWT, Swing, JavaFX & SWT 2
U Swing JPane und JScrollpane in JSplitpane-Seite: Scrollen funktioniert nicht AWT, Swing, JavaFX & SWT 3
D JSplitPane, Jtree, CardLayout (constraint must be a string) AWT, Swing, JavaFX & SWT 9
D JSplitPane -> setRightComponent aus anderer Klasse AWT, Swing, JavaFX & SWT 3
B JSplitPane AWT, Swing, JavaFX & SWT 4
J Swing Problem - Abspeichern JSplitPane Position AWT, Swing, JavaFX & SWT 5
Burny91 Swing Vertical JSplitPane lässt sich nicht nach rechts verschieben AWT, Swing, JavaFX & SWT 2
C JSplitPane Divider fixieren AWT, Swing, JavaFX & SWT 2
S JSplitPane rechtes JPanel aus subpanel ändern AWT, Swing, JavaFX & SWT 3
G JSplitPane DividerLocation AWT, Swing, JavaFX & SWT 2
P Swing JSplitPane mehrere Teiler AWT, Swing, JavaFX & SWT 3
W JSplitPane wegräumen AWT, Swing, JavaFX & SWT 5
T Swing JSplitPane Componenten ausrichten AWT, Swing, JavaFX & SWT 4
T Expand/Collape JSplitPane programmatically AWT, Swing, JavaFX & SWT 3
B JSplitPane mit max. Größe AWT, Swing, JavaFX & SWT 8
T Swing JSplitPane erstellen AWT, Swing, JavaFX & SWT 2
R JSplitPane automatisch ausblenden AWT, Swing, JavaFX & SWT 13
H Swing Darstellungsproblem JPanel in JPanel in JScrollpane in JSplitPane AWT, Swing, JavaFX & SWT 4
multiholle JSplitPane und MousListener AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben