2009-03-12 6 views
0

In meinem Editor habe ich ein Composite mit einem Label-Steuerelement ganz oben, die Informationsmeldung in roter Farbe blinkt, wenn der Benutzer falsche Eingaben in einem der unten liegenden Felder eingibt. Der Text ändert sich dynamisch je nach Benutzereingabe. Ich bin in der Lage, den Effekt zu erzielen, rot gefärbten Text bei fehlerhaften Eingaben anzuzeigen und nichts auf dem Etikett für korrekte Eingaben anzuzeigen.Eclipse RCP: Ist es möglich, die Felder ohne Neuzeichnen zu verschieben?

Aber ich möchte, dass, wenn kein Fehler in der Etikettenzusammensetzung angezeigt wird, der Rest der unteren Felder im Display hochschalten. Und wenn ein Fehler angezeigt wird, sollte der Fehler an seiner Stelle erscheinen (oben in allen anderen Feldern) und die anderen Felder nach unten drücken.

Gibt es eine Möglichkeit, diesen Effekt zu erzielen, ohne alle Steuerelemente neu zu zeichnen?

Antwort

0

Ja, rufen Sie layout (true) auf dem Eltern.

Zum Beispiel habe ich eine Ansicht, die eine Suchleiste oben hat, die Sichtbarkeit kann umgeschaltet werden. Ich habe eine Methode, um die Suche Verbund zu erstellen und eine um es zu entfernen:

private void createNameSearchBar() { 
    mySearchControl = new CardSearchControl (myViewComposite, SWT.NONE); 
    mySearchControl.setSearchListener (this); 
} 


private void disposeNameSearchBar() { 
    mySearchControl.dispose(); 
    mySearchControl = null; 
} 

private CardSearchControl mySearchControl = null; 
private Composite myViewComposite; 
private boolean mySearchBarState; 

auszublenden oder die Suchleiste Kontrolle zeigen, dass ich diese Methode aufrufen (myViewComposite ist die Top-Level-Steuerung, die die Suchleiste und alle anderen besitzt contorls):

Verwandte Themen