FillLayout und Composite

Status
Nicht offen für weitere Antworten.

Timmi

Mitglied
Ich versuche zwei Button mit FillLayout in einem Composite anzeigen zu lassen. Leider werden sie nicht angezeigt. Was mache ich falsch?




Code:
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

/**
 * @author Timmi
 *
 * created first in project layouts
 */
public class FillLayoutTest2
	{
public static Display myDisplay;	
	
	private void fillLayoutDemo2(Display display)
		{
		myDisplay = display;
		final Shell myShell = new Shell(myDisplay);
		myShell.setText("FillLayout Shell");
		Composite myComposite = new Composite(myShell, SWT.BORDER);
		FillLayout fillLayout = new FillLayout();
		fillLayout.type = SWT.VERTICAL;
		myComposite.setLayout(fillLayout);
		myComposite.setSize(300, 200);
		Button but1 = new Button(myComposite,SWT.PUSH);
		but1.setText("Eins");
		Button but2 = new Button(myComposite,SWT.PUSH);
		but2.setText("Zwei");
	
		myShell.pack();
		myShell.open();
		while (!myShell.isDisposed())
			{
			if (!myDisplay.readAndDispatch())
				myDisplay.sleep();	
			}
		}
	
	
	
	/**
	 * Method main
	 * @param args
	 */
	public static void main(String[] args)
		{
		myDisplay = new Display();
		FillLayoutTest2 flt = new FillLayoutTest2();
		flt.fillLayoutDemo2(myDisplay);

		}

	}
 

Timmi

Mitglied
Ich habe es ja nur beispielhaft gepostet um das Augenmerk auf den Kern des Problems zu legen. Er lautet weiterhin "FillLayout in einem Composite". In einer Shell ist das ganz easy. Aber wie sieht das ganze in einem allgemeinen Composite aus?
 

FelixB

Bekanntes Mitglied
also eigentlich geht es genau so... aber in diesem Fall liegt es vielleicht daran, deine Shell kein Layout hat...
 

Timmi

Mitglied
Also nochmal ganz langsam: in der Shell funktioniert es. Punkt.

Problem: in einer ganz normalen Composite anzeigen lassen.

Danke dir. Vielleicht weiß noch jemand anderes Rat, warum dies nicht funktioniert bzw. was ich falsch mache.
 

Timmi

Mitglied
FelixB hat gesagt.:
Timmi hat gesagt.:
Also nochmal ganz langsam: in der Shell funktioniert es. Punkt.

dann gib uns doch bitte ein Beispiel, in dem es *nicht* funktioniert...

*Genau dafür* dient das obige Beispiel. Teste es und du weißt, um was es hier geht.

Bevor das hier ein Dialog wird. An die anderen: kennt jemand eine Lösung für mein Problem: FillLayout innerhalb eines allgemeinen *Composite*?
 

Timmi

Mitglied
Danke Felix. Du hast zu 100% recht.

Was mir jedoch nicht einleuchtet, ist folgendes:

Wieso benötigt die übergeordnete Shell eine FillLayout-Instanz? Die Buttons im Composite werden doch lediglich mit FillLayout angeordent? Kannst du das erklären?
 

FelixB

Bekanntes Mitglied
also jedes Element, in das du andere Sachen packen willst, benötigt ein Layout.

Wenn du Buttons in einer Shell haben wilst, musst du der Shell ein Layout geben.
Wenn du ein Composite in einer Shell haben willst, musst du der Shell ein Layout geben.

muss kein FillLayout sein, da kannst du nehmen, was du willst. Das hat nichts mit Layouts zu tun, die später noch verwendet werden.

--> In Shell GridLayout mit drei Composites, wobei jedes Composite ein anderes Layout hat, ist durchaus machbar.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Y Objekte grafisch darstellen ohne GMF - Composite auf Canvas? AWT, Swing, JavaFX & SWT 2
G SWT JAVA Swt Composite übereinanderlegen AWT, Swing, JavaFX & SWT 6
A SWT MouseWheelListener auf Composite beschränken? AWT, Swing, JavaFX & SWT 10
S SWT TableCell mit Composite als Inhalt / Höhe der Cell/Row AWT, Swing, JavaFX & SWT 5
reibi SWT Bild auf Composite zentrieren AWT, Swing, JavaFX & SWT 7
D SWING - Ein Composite scrollen AWT, Swing, JavaFX & SWT 6
lumo SWT Composite Mouse Track Lisetner AWT, Swing, JavaFX & SWT 2
lumo SWT Composite Focus AWT, Swing, JavaFX & SWT 2
A SWT Scrollable Composite innerhalb eines Composites AWT, Swing, JavaFX & SWT 3
J SWT Größe eines Composite mit Gridlayout festlegen AWT, Swing, JavaFX & SWT 2
G SWT Button in Composite vor anderem Button einfügen AWT, Swing, JavaFX & SWT 10
A SWT Auf einem Tabb (FormPage) einzelnes Composite neu zeichnen AWT, Swing, JavaFX & SWT 7
A SWT SWT - Unbekannte Fläche (Objekt) erscheint im Composite AWT, Swing, JavaFX & SWT 6
lumo SWT Composite + Image + zeichnen AWT, Swing, JavaFX & SWT 4
N SWT - über Thread Composite erstellen und Anhängen AWT, Swing, JavaFX & SWT 6
J SWT 4 Objekte auf einem Composite anordnen AWT, Swing, JavaFX & SWT 5
S SWT Composite mit Layout Manager geht nicht AWT, Swing, JavaFX & SWT 4
L SWT Composite klonen AWT, Swing, JavaFX & SWT 2
lumo SWT Absolute position einer Composite/Control AWT, Swing, JavaFX & SWT 5
B SWT Composite neu zeichnen AWT, Swing, JavaFX & SWT 3
M Shell vs. Composite AWT, Swing, JavaFX & SWT 3
P SWT Composite und viele Labels AWT, Swing, JavaFX & SWT 10
A SWT Composite bleibt leer AWT, Swing, JavaFX & SWT 7
K Composite Inhalt wird nicht angezeigt AWT, Swing, JavaFX & SWT 5
G Composite - Rand wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 3
7 SWT-Composite für Wizard, Event finden? AWT, Swing, JavaFX & SWT 5
der JoJo [SWT]Meherer Composite's , immer nur eins anzeigen AWT, Swing, JavaFX & SWT 2
C SWT Composite Border im Nachhinein setzen AWT, Swing, JavaFX & SWT 1
I Composite AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen


Oben