Layout Probleme

Status
Nicht offen für weitere Antworten.

sh4dow

Mitglied
hi leute

ich verwende ein gridbaglayout und immer wenn ich jetzt komponenten hinzufüge, baut sich das ganze zentral auf. ich möchte aber, dass es links oben anfängt. kann man da was machen oder ist das modern? :roll:

mfg;
 

Semerzo

Aktives Mitglied
Kann dein Problem nicht nachvollziehen. Sind die Komponenten generell zentral ausgerichtet oder fügst du dynamisch neue hinzu und der Bildaufbau ist so schnell, dass du zu sehen kannst, wie das GridBag die Komponenten sortiert?
 

sh4dow

Mitglied
ne, beim editor sehe ich das ;D
und später beim laufenden programm ist auch alles in der mitte, zb.:

Code:
+------------------------------+
|                              |
|                              |
|     label: textfeld          |
|                              |
|     liste                    |
|                              |
|                              |
|                              |
+------------------------------+

sollte aber eben links oben anfangen mit der anordnung der komponenten :roll:

mfg;
 

Semerzo

Aktives Mitglied
Code:
GridBagConstraints tmp = new GridBagConstraints();
tmp.anchor = GridBagConstraints.NORTHEAST;

Evtl hilft das. Die Constraints werden entweder zentral bei der Instanz des GridBagLayout eingestellt oder jedesmal, wenn du einer Komponente Constraints zuweiset mittels add:
Code:
add(Component comp, Object constraints);
 

sh4dow

Mitglied
das problem ist nur, dass das gesamte gridbaglayout schon zentral liegt. also die einzelenen komponenten im gridbaglayout anordnen ist kein problem, aber das gridbaglayout selbst ausrichten schon :roll:

Code:
+- frame ----------------------+
|                              |
|                              |
|    +- gridbaglayout --+      |
|    | label: textfeld  |      |
|    |                  |      |
|    | liste            |      |
|    +------------------+      |
|                              |
|                              |
+------------------------------+

mfg;
 

Semerzo

Aktives Mitglied
Achso, jeder Swing Container hat einen Layoutmanager. Wenn du keinen zuweist, ist das ein FlowLayout, welches per Default alle Komponenten zentral anordnet.

Versuch mal:
Code:
JFrame frame = new JFrame("HelloWorldSwing");
frame.getContentPane().setLayout(new FlowLayout(FlowLayout.LEFT));
oder wenn du keinen neuen machen magst:
Code:
((FlowLayout)frame.getLayout()).setAlignment(FlowLayout.LEFT);
 

sh4dow

Mitglied
naja, als standard hab ich das borderlayout eingestellt, dann hab ich im center ein flowlayout mit alignment left und im flowlayout ein gridbaglayout und in diesem die komponenten und trotzdem sind sie zentriert :roll:
zudem, wenn ich ein flowlayout verwendete, funktioniert das mit dem nachziehen der komponenten, wenn das fenster kleiner bzw. größer gemacht wird nicht mehr :roll:
irgendwie sind mir die layouts ein bisschen suspekt.

mfg;
 

Semerzo

Aktives Mitglied
Fangen wir mal Aussen an, da ist dein Frame, auf dem Frame ist ein ContentPanel, dessen Layout ist per Default ein FlowLayout, das hast du zu einem BorderLayout gemacht. Wozu machst du das? Wenn du dann Controls, auch wenn das Control ein Panel, also ein Container, ist dem Center zufügst, dann ist es Absicht, dass diesed Control im Zentrum des Layouts ist. Ansonsten wäre der Begriff Center etwas irreführend :)

Im Center hast du dann einen Panel(?) platziert, dessen LayoutManager du ein GridBagLayout zugewiese hast. In diesem Panel platzierst du dann erst deine eigentlichen Controls.

Warum verwendest du nicht direkt für das ContentPanel, dem Container gaanz Aussen, ein GridBagLayout anstelle des BorderLayouts? Dann erübrigt sich auch das Problem mit dem Resize.
 

sh4dow

Mitglied
es wird immer komplizierter :D

weil beim borderlayout links auch eine liste ist und in der mitte ein panel, das ein gridbaglayout hat.
ich glaub, auch wenn man als standard ein gridbaglayout nimmt, fängt alles in der mitte an, ich mein das gridbaglayout selbst fängt in der mitte vom frame an und nicht oben links :roll:

mfg;
 

Semerzo

Aktives Mitglied
ich glaub, auch wenn man als standard ein gridbaglayout nimmt, fängt alles in der mitte an, ich mein das gridbaglayout selbst fängt in der mitte vom frame an und nicht oben links
Öhm, ne, das stimmt nicht. Das GridBagLayout fängt oben links an. Es unterteilt den Container in kleine Zellen, wobei oben link 0,0 ist. Die Anzahl der Spalten wird dynamisch bestimmt. Aber bevor ich mir die Finger blutig tippe:
http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html

Generell könnte dich das Kapitel:
http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html

interessieren.
 
R

Roar

Gast
Semerzo hat gesagt.:
Öhm, ne, das stimmt nicht. Das GridBagLayout fängt oben links an.

ja, vorausgesetzt du gibst die richtigen werte bei den gbc an. mal schnell layout zusammentippen is da nich mit gbl. das ding wird mir immer unsympathischer :x
 

sh4dow

Mitglied
Roar hat gesagt.:
ja, vorausgesetzt du gibst die richtigen werte bei den gbc an. mal schnell layout zusammentippen is da nich mit gbl. das ding wird mir immer unsympathischer :x

aha und wie schauen die richtigen werte aus? :wink:

mfg;
 

Semerzo

Aktives Mitglied
Ne, das GBL fängt immer oben links an. Wenn die wheighx & wheighy nicht gesetzt werden sieht es so aus, als würde er es nicht tun ...

Das Ding ist recht gut vergleichbar mit einer HTML-Tabelle, in der du alle Werte der Spalten- und Zeilenhöhe mittels % angibst.

Code:
package coding;

import java.awt.Color;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.border.Border;
import javax.swing.border.LineBorder;

public class SwingStarter {
	
	private JLabel label;
	
	public SwingStarter() {
        //Make sure we have nice window decorations.
        JFrame.setDefaultLookAndFeelDecorated(false);

        //Create and set up the window.
        JFrame frame = new JFrame("Hello GridLayout!");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
        frame.getContentPane().setLayout(new GridBagLayout());

        GridBagConstraints tmp = new GridBagConstraints();
        //Bestimmt die Orientierung innerhalb der Zelle.
        tmp.anchor = GridBagConstraints.NORTHWEST;
        // Wenn _alle_ dieser Werte auf 0 sind, default, wird der übrige
        // Platz rings um den GBL verteilt. Es sieht dann so aus,
        // als wäre alles zentriert. Sollte eine Tasche, GridagLayoutConstraint (GBL),
        // vom Default abweichen, nimmt sie sich allen Platz den sie bekommen kann.
        // Die weight[x | y] gibt den prozentualen Wert an, den sich ein GBL schnappen
        // darf. Wenn alle ausser einer dabei default wären, schnappt sie sich alles.
        tmp.weightx = 0.1;
        tmp.weighty = 0.1;
        
        label = new JLabel("0,0");
        
        // Damit ihr mir glaubt, dass die nicht ihre Tasche 'fillen'
        Border border = new LineBorder(new Color(0,0,0));
        label.setBorder(border);
        
        tmp.gridx = 0;
        tmp.gridy = 0;
        frame.getContentPane().add(label, tmp);
        
        label = new JLabel("1,0");
        tmp.gridx = 1;
        tmp.gridy = 0;
        frame.getContentPane().add(label, tmp);
        
        label = new JLabel("0,1");
        tmp.gridx = 0;
        tmp.gridy = 1;
        frame.getContentPane().add(label, tmp);
        
        label = new JLabel("1,1");
        tmp.gridx = 1;
        tmp.gridy = 1;
        frame.getContentPane().add(label, tmp);
        
        //Display the window.
        frame.pack();
        frame.setVisible(true);
	}


    public static void main(String[] args) {
    	new SwingStarter();
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Swing Probleme mit dem Layout AWT, Swing, JavaFX & SWT 1
M Layout-Probleme unter Swing AWT, Swing, JavaFX & SWT 5
B Probleme mit Layout Manager (BoxLayout) AWT, Swing, JavaFX & SWT 4
U JTabbedPane: Layout-Probleme bei addTab zur Laufzeit AWT, Swing, JavaFX & SWT 2
N Layout Probleme AWT, Swing, JavaFX & SWT 6
N Swing Probleme mit Layout AWT, Swing, JavaFX & SWT 4
R Probleme mit Layout AWT, Swing, JavaFX & SWT 6
G Probleme mit Content bei Null-Layout verändern AWT, Swing, JavaFX & SWT 7
G Probleme mit SWT und Layout AWT, Swing, JavaFX & SWT 14
E Probleme beim Layout! AWT, Swing, JavaFX & SWT 8
E Probleme beim Layout mit Buttons und CheckboxGroup AWT, Swing, JavaFX & SWT 9
G Layout Probleme AWT, Swing, JavaFX & SWT 6
D Layout Probleme. AWT, Swing, JavaFX & SWT 7
P Probleme mit Layout AWT, Swing, JavaFX & SWT 3
W Probleme mit Border- und null-Layout AWT, Swing, JavaFX & SWT 8
S Welches Java Layout sollte ich verwenden? AWT, Swing, JavaFX & SWT 3
S Layout - Problem AWT, Swing, JavaFX & SWT 1
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
H Swing , GridLayout, Größenbestimmung der Komponenten im Layout AWT, Swing, JavaFX & SWT 8
melaniemueller Layout wechseln über RadioButtons AWT, Swing, JavaFX & SWT 4
E LayoutManager Welcher Layout-Mix löst mein Problem? AWT, Swing, JavaFX & SWT 3
J Swing Hilfe bei Layout AWT, Swing, JavaFX & SWT 2
R Layered Layout AWT, Swing, JavaFX & SWT 1
E showAndWait is not allowed during animation or layout processing Memory FX AWT, Swing, JavaFX & SWT 2
newJavaGeek Grid-Layout problem AWT, Swing, JavaFX & SWT 7
E Swing Layout während der Laufzeit anpassen AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
R Layout Manager null und Component wird nicht hinzugefügt AWT, Swing, JavaFX & SWT 3
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
OSchriever Layout über Radiobuttons ändern AWT, Swing, JavaFX & SWT 4
Hatsi09 JButton text layout AWT, Swing, JavaFX & SWT 9
I JavaFX - festes Layout AWT, Swing, JavaFX & SWT 1
S JavaFX TableView einzelne Zelle Layout zuweisen AWT, Swing, JavaFX & SWT 3
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
kilopack15 Interface mit Layout verknüpfen AWT, Swing, JavaFX & SWT 2
Y Layout/Ausrichtungsprobleme AWT, Swing, JavaFX & SWT 4
T JavaFX Custom Layout AWT, Swing, JavaFX & SWT 5
A GUI Layout AWT, Swing, JavaFX & SWT 11
A Layout-Manager, JScrollPane, ... Chaos AWT, Swing, JavaFX & SWT 5
L wie Layout-Grid in JXPanel anzeigen? AWT, Swing, JavaFX & SWT 5
L Eigene Component Layout AWT, Swing, JavaFX & SWT 4
Soloeco LayoutManager Wie und welches Layout nutze ich am Besten? AWT, Swing, JavaFX & SWT 13
M LayoutManager Modalen JDialog ein Layout zuweisen AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout reagiert nicht auf Constraints AWT, Swing, JavaFX & SWT 4
IsSchoGuat LayoutManager Layout-Containergrösse AWT, Swing, JavaFX & SWT 4
F GridBag Layout AWT, Swing, JavaFX & SWT 1
Z Absolutes Layout / Kontrolle über Anordnung AWT, Swing, JavaFX & SWT 3
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
D LayoutManager GUI skalieren und deren Komponenten mit Grid(Bag)Layout-Manager. AWT, Swing, JavaFX & SWT 5
J ComboBoxModel addElement verändert Layout AWT, Swing, JavaFX & SWT 8
E Probelm mit Layout AWT, Swing, JavaFX & SWT 1
B Hilfe welches Layout brauch ich AWT, Swing, JavaFX & SWT 4
P Tipps für GUI-Layout AWT, Swing, JavaFX & SWT 2
M Passender Layout-Manager AWT, Swing, JavaFX & SWT 3
M LayoutManager Layout zur Laufzeit ändern AWT, Swing, JavaFX & SWT 8
N Swing Zweifarbiges Layout für den Filechooser AWT, Swing, JavaFX & SWT 12
B LayoutManager Card Layout AWT, Swing, JavaFX & SWT 2
E Angehängtes Layout, aber wie? AWT, Swing, JavaFX & SWT 12
1 Eigenes Layout schreiben AWT, Swing, JavaFX & SWT 4
B SWT layout invalidieren in SWT? AWT, Swing, JavaFX & SWT 4
R Welchen Layout Manager/ Wie strukturieren? AWT, Swing, JavaFX & SWT 14
J Layout: oben 20% unten 80% AWT, Swing, JavaFX & SWT 12
T Layout für Listendarstellung AWT, Swing, JavaFX & SWT 3
F LayoutManager Null-Layout unter Linux im TreeCellEditor AWT, Swing, JavaFX & SWT 3
K Eclipse Layout (Gimp Layout, Tiled Layout...) AWT, Swing, JavaFX & SWT 4
C LayoutManager Passendes Layout gesucht AWT, Swing, JavaFX & SWT 2
M Layout funktioniert nicht AWT, Swing, JavaFX & SWT 3
dzim Layout von Panes in JFX2 AWT, Swing, JavaFX & SWT 17
H Layout Idee AWT, Swing, JavaFX & SWT 8
M Swing Dynamisches Layout AWT, Swing, JavaFX & SWT 10
P Swing welchen Layout Manager verwenden AWT, Swing, JavaFX & SWT 9
J LayoutManager Komponentenaustausch zerschießt Layout AWT, Swing, JavaFX & SWT 4
F Layout-Problem AWT, Swing, JavaFX & SWT 2
K Gui Layout Frage AWT, Swing, JavaFX & SWT 5
B Anderen Layout-Manager verwenden AWT, Swing, JavaFX & SWT 17
E Null-Layout - Wie geht es ohne? AWT, Swing, JavaFX & SWT 19
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
L Swing dynamisches Image-Panel in Layout einbinden AWT, Swing, JavaFX & SWT 10
D Bild in JPanel verschiebt Layout. Wie fixieren? AWT, Swing, JavaFX & SWT 9
GUI-Programmer Wieder ne Layout Frage AWT, Swing, JavaFX & SWT 11
GUI-Programmer LayoutManager Kurze Layout Frage - eine komponente mittig? AWT, Swing, JavaFX & SWT 5
D Problem mit 3-Spalten Layout AWT, Swing, JavaFX & SWT 17
ARadauer Wenig Material zum Thema: Design, Layout, Usability von Swing Anwendungen AWT, Swing, JavaFX & SWT 11
S LayoutManager Welcher LayoutManager für dieses zweispaltige Layout? AWT, Swing, JavaFX & SWT 13
G LayoutManager Layout welches von Links nach rechts anordnet mit TOP Alignment! AWT, Swing, JavaFX & SWT 5
A Best practice für konkretes Layout AWT, Swing, JavaFX & SWT 10
G LayoutManager Layout für Spalten AWT, Swing, JavaFX & SWT 8
A Layout/JPanelgröße AWT, Swing, JavaFX & SWT 6
S pack() bei null-Layout AWT, Swing, JavaFX & SWT 10
C SWT Tabellen-Layout in StyledText? AWT, Swing, JavaFX & SWT 6
J LayoutManager Welchen Layout/Design-Manager? AWT, Swing, JavaFX & SWT 4
R Swing Layout setzen AWT, Swing, JavaFX & SWT 3
L Layout automatische Anpassung umgehen? AWT, Swing, JavaFX & SWT 5
A Problem mit Layout-Manager AWT, Swing, JavaFX & SWT 11
J Button Layout anpassen AWT, Swing, JavaFX & SWT 22
H LayoutManager Layout mit GridBagLayout machbar? AWT, Swing, JavaFX & SWT 6
B Buttongröße im Layout AWT, Swing, JavaFX & SWT 4
B LayoutManager Layout Problem AWT, Swing, JavaFX & SWT 14
O LayoutManager Layout entwerfen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben