Tworzę edytor powitalny dla mojej aplikacji eclipse rcp. Chcę, aby dwa ScrolledComposites znajdowały się obok siebie z etykietą nad każdym.

Label 1             Label 2

Scrollable 1        Scrollable 2

Teraz utknąłem w boksie.

Wydaje się to słuszne, ale teraz nie mogę uzyskać właściwych układów i słuchaczy.

  • Kompozyt A
    • Kompozyt A1
      • Etykieta 1
      • Przewijalny S1
    • Kompozyt A2
      • Etykieta 2
      • Przewijalny S2

A1 powinien ustawić minimalny rozmiar przewijalnego S1? Ale kto ustawia rozmiar S1 tak, aby wypełniał nadmiar miejsca? Przykłady, które znalazłem, nie działały prawidłowo.

BTW umieszczenie wszystkiego w GridLayout też nie działało, ponieważ nie mogłem uzyskać rozmiaru komórki.

0
Portree Kid 11 sierpień 2011, 11:30

2 odpowiedzi

Najlepsza odpowiedź

BTW umieszczenie wszystkiego w GridLayout też nie działało, ponieważ nie mogłem uzyskać rozmiaru komórki.

Dlaczego potrzebujesz rozmiaru komórki? Wystarczy ustawić GridLayoutdata na S1 i S2, aby wypełnić komórkę. Najprostszy w użyciu jest GridLayoutFactory:

import org.eclipse.jface.layout.GridLayoutFactory;

...
GridLayoutFactory.fillDefaults().applyTo(s1);
GridLayoutFactory.fillDefaults().applyTo(s2);
...

AKTUALIZACJA: Zobacz przykłady na http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/api/org/eclipse/swt/ custom/ScrolledComposite.html

Załóżmy, że zawartość s1 to Composite c1. Następnie używasz s1.setMinSize(c1.computeSize(SWT.DEFAULT, SWT.DEFAULT)). Rozmiar A1 nie ma znaczenia.

0
Alexey Romanov 11 sierpień 2011, 15:12
W takim razie spróbuję jeszcze raz. Ale myśląc o tym, wciąż mam węzeł w mózgu. Myślałem, że rozmiar to rzeczywisty rozmiar obszaru przewijania i minimalny rozmiar pojemnika.
 – 
Portree Kid
11 sierpień 2011, 15:04
Podczas mojej pierwszej próby najwyraźniej nie ustawiłem FILL_BOTH. #-)
 – 
Portree Kid
11 sierpień 2011, 21:25

Spójrz na Snippet SWT dla „naprawione jako pierwsze kolumna przewijanie w poziomie pozostałe kolumny" - chociaż ten przykład dotyczy Tables, można go łatwo przetłumaczyć na ScrolledComposites.

0
Tonny Madsen 11 sierpień 2011, 17:00