Java GridbagLayout

meckiebro

Mitglied
Huhu Leute ich habe schon seit längerem so meine Probleme mit diesem Layout.
und zwar nehmen wir uns mal dieses Beispiel hier vor.

Code:
episodeInfoContainer.add(episodeOriginalNameL,new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeOriginalName,new GridBagConstraints(1, 0, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.HORIZONTAL, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeGermanNameL,new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeGermanName,new GridBagConstraints(1, 1, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.HORIZONTAL, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeDescriptionL,new GridBagConstraints(0, 2, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeDescription,new GridBagConstraints(1, 2, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.BOTH, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeMusikL,new GridBagConstraints(0, 3, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.NONE, new Insets(1,1,1,1), 0, 0));
		
episodeInfoContainer.add(episodeMusik, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0
                ,GridBagConstraints.FIRST_LINE_START, GridBagConstraints.BOTH, new Insets(1,1,1,1), 0, 0));

So ich wollte das jetzt wie folgt haben zwei Spalten sozusagen.
links sind immer die Labels. und rechts die dazugehörigen Werte.
Soweit sieht das ja auch erstmal so aus.
Wenn ich jetzt das Fenser größer ziehe, dann erhalte ich immer größer werdende Lücken zwischen den Elementen.
Das will ich aber nicht. die Labels sollen links bleiben und es soll auch kein Raum zum Wert entstehen (was aber passiert)
Das selbe passiert vertikal. da sollen die Werte vom orginalName und germanName nicht mehr Platz nehmen als das Feld braucht. nur die Werte von Description und Musik sollen den restlichen Platz einnehmen.
Wie kann ich das einstellen?

LG
Meckie
 
Zuletzt bearbeitet:
der fehler steckt wie üblich im detail ...

im GBC steht : GridBagConstraints.BOTH ... was bedeutet das der verwendete raum sowohl horizontal als auch vertikal voll ausgenutz wird ...

das problem hierbei : da du ganz offentsichtlich eine IDE verwendest wird dieser wert standart-mäßig gesetz ...

ich selber schreibe meine GUI's auch mittem GBL ... allerdings HARDCODE ich mittem editor ...
darum habe ich auch nur EINE instanz von GBL und auch nur EINE von GBC ...
und weise dann halt für jedes element die werte selber zu *über GridBagLayout.setConstraints(Component c, GridBagConstraints gbc)*
an sich is GBL das einfachste und genauste wenn mans HARDCODED ... IDE's versagen leider völlig dabei und nutzen die vorteile nicht aus ...
im gegenteil ... NetBeans und Eclipse haun dir da noch mehr nachteile rein weil für jedes Component das GBL völlig neu instanziert wird *und damit verbunden auch gleich die GBC*

da gegen lääst sich in einer IDE nichts machen ...
wenn dus sauber haben willst musst du es wohl oder übel selber übern editor schreiben ...
 
Hi danke Sascha das sieht schon sehr vielversprechend aus.
Ich habe das auch soweit hinbekommen.
Aber wie ist das mit Abstand unter den Komponenten und zum Rand?
 
Zurück