Hey, steh als SWT-Anfänger vor einem Problem mit einer ScrolledComposite. Ich hab folgenden Code:
Mein Problem ist nun dass der Inhalt, also scrollcontent, sich halt immer so groß macht wie er sein muss um alles anzuzeigen. D.h. die Scrollbalken werden nie angezeigt. Es gibt eine Methode setMinSize() für die ScrolledComposite, ich bräuchte eher setMaxSize().
Ich will halt dass das Teil nur x*y Pixel groß ist, und wenn halt nun der Inhalt, also die "scrollContent"-Composite, größer wird, naja genau dann sollen mir die Scrollbalken angezeigt werden.
Also ich kriegs einfach nicht hin dass ich Scrollbalken sehe.
Die Bsp bei google kann ich auch nicht nachvollziehen, die gehen irgendwie davon aus dass man das Fenster halt resized und kleiner zieht o.ä. aber in meinem Fall kann man nicht resizen.
Bitte um Hilfe ich versteh das Konzept von SWT noch nich so, vermisse setPreferredSize usw
Danke
edit: Ich hab noch ne Frage zu SWT ich will dafür jetzt nicht nen eigenen Thread eröffnen. Und zwar frage ich mich wie ich eig. Komponenten löschen kann in SWT. Diese ScrolledComposite dient für ein Log, d.h. ich adde zum scrollcontent einfach Labels untereinandern.
Wenn man jetzt den Prozess neu startet soll der alte Log verschwinden und ein neuer starten, d.h. ich müsste erstmal alle Labels wieder entfernen.. Wie geht das?
Thx
Java:
ScrolledComposite sc = new ScrolledComposite(dialog, SWT.BORDER
| SWT.V_SCROLL);
GridData gd = new GridData();
gd.horizontalSpan = 2;
gd.horizontalAlignment = GridData.FILL;
sc.setLayoutData(gd);
Composite scrollContent = new Composite(sc, SWT.NONE);
FillLayout fillLayout = new FillLayout();
fillLayout.type = SWT.VERTICAL;
scrollContent.setLayout(fillLayout);
for (int i = 0; i < 10; i++) {
Label l = new Label(scrollContent, SWT.LEFT);
l.setText("Msg # " + i);
}
sc.setContent(scrollContent);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
Mein Problem ist nun dass der Inhalt, also scrollcontent, sich halt immer so groß macht wie er sein muss um alles anzuzeigen. D.h. die Scrollbalken werden nie angezeigt. Es gibt eine Methode setMinSize() für die ScrolledComposite, ich bräuchte eher setMaxSize().
Ich will halt dass das Teil nur x*y Pixel groß ist, und wenn halt nun der Inhalt, also die "scrollContent"-Composite, größer wird, naja genau dann sollen mir die Scrollbalken angezeigt werden.
Also ich kriegs einfach nicht hin dass ich Scrollbalken sehe.
Die Bsp bei google kann ich auch nicht nachvollziehen, die gehen irgendwie davon aus dass man das Fenster halt resized und kleiner zieht o.ä. aber in meinem Fall kann man nicht resizen.
Bitte um Hilfe ich versteh das Konzept von SWT noch nich so, vermisse setPreferredSize usw
Danke
edit: Ich hab noch ne Frage zu SWT ich will dafür jetzt nicht nen eigenen Thread eröffnen. Und zwar frage ich mich wie ich eig. Komponenten löschen kann in SWT. Diese ScrolledComposite dient für ein Log, d.h. ich adde zum scrollcontent einfach Labels untereinandern.
Wenn man jetzt den Prozess neu startet soll der alte Log verschwinden und ein neuer starten, d.h. ich müsste erstmal alle Labels wieder entfernen.. Wie geht das?
Thx
Zuletzt bearbeitet: