SWT SelectionEvent künstlich auslösen

moe5k

Mitglied
Hallo,

Ein Comboviewer filtert andere Comboviewer wenn ein SelectionEvent ausgelöst wird.
Das funktioniert auch einwandfrei. Wenn dieser Comboviewer aber nicht per Mouseclick
sondern per Databinding selektiert wird, gibts kein SelectionEvent.

Kann ich das "künstlich" auslösen damit die Filterung auch dann klappt ?

Moe
 

moe5k

Mitglied
Danke für die schnelle Antwort!
Leider habe ich aber gerade irgendwie ein Brett vorm Kopf...

Hättest Du vielleicht ein Codebeispiel parat ?

Ich muss viellleicht noch dazu sagen, dass ich mir eine abgeleitete Klasse
vom Comboviewer erstellt habe. In dieser die Methode fireSelectionChanged steht mir in
dieser Klasse zwar zur Verfügung aber nicht in in den Instanzen dieser Klasse ?!?

Moe
 

marcusvw

Mitglied
Hallo,
also die Methode
[Java]
protected void fireSelectionChanged(SelectionChangedEvent event)
[/Java]
Hat das Attribut protected was zur Folge hat das du diese Methode nur in der Abgeleiten Klasse verwenden kannst. Dir steht es abre frei eine eigne Methode in deiner von Comboviewer abgeleiteten Klasse zu Schreiben die public ist und damit allgemein Verfügbar.
[Java]
public void fireChangeEvent( ISelectionProvider source,
ISelection selection)
{
fireSelectionChanged(new SelectionChangedEvent(ISelectionProvider source,
ISelection selection));
}
[/Java]
Dann kannst du entsprechend aus einer anderen nicht abgeleiteten Klasse die Methode aufrufen.

Grüße
Marcus
 

moe5k

Mitglied
Danke für die Erklärung, aber es funktioniert leider immer noch nicht wie es soll ... :(

Vielleicht hilft mehr Code das Problem besser zu beschreiben...

Ich definiere eine CCombo und und einen Listener auf dieser.
die CCombo übergebe ich an die abgeleitete Klasse des ComboViewers (CViewer).
Die Methode combo2select löst die eigentliche Filterung aus. Hier der Code dazu:

Java:
cCombo2 = new CCombo(labelsAndMore, SWT.BORDER);
cCombo2.addSelectionListener(new SelectionAdapter() {
		public void widgetSelected(SelectionEvent evt) {
			combo2select(evt);
                        }
                 });
				
		combo2Viewer = new CViewer(cCombo2);

vermutlich müsste ich nicht auf dem Comboviewer sondern auf der CCombo selbst das
SelectionEvent auslösen ?
Aber wie kann ich das anstellen ?

Eine andere Möglichkeit wäre vielleicht auch die Methode combo2select direkt aufzurufen.
Das habe ich versucht mit:

Java:
combo2select(new SelectionEvent(new Event()));

Was aber leider zu einer
java.lang.IllegalArgumentException: null source
führt.

Gruß Moe
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J SelectionEvent JTable AWT, Swing, JavaFX & SWT 3
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
G Mouse Event in anderemm Event auslösen AWT, Swing, JavaFX & SWT 50
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
S ActionEvent Press Enter per Code auslösen AWT, Swing, JavaFX & SWT 22
L JButton durch Mausklick auslösen und Enter-Taste AWT, Swing, JavaFX & SWT 2
X Javafx button per enter auslösen AWT, Swing, JavaFX & SWT 5
G Swing Durch GlassPane auf Button klicken und ActionEvent auslösen AWT, Swing, JavaFX & SWT 0
R JButton durch Enter auslösen AWT, Swing, JavaFX & SWT 7
X Swing MouseEvent auslösen AWT, Swing, JavaFX & SWT 3
L ListSelectionListener durch Code auslösen AWT, Swing, JavaFX & SWT 3
T MouseEnteredEvent von verdeckten JPanel auslösen AWT, Swing, JavaFX & SWT 2
A Shift-Tab-Event auslösen AWT, Swing, JavaFX & SWT 5
M ActionListener mit code!!! auslösen AWT, Swing, JavaFX & SWT 3
V Swing Auslösen von zwei Events hintereinander AWT, Swing, JavaFX & SWT 4
S SWT Bei Auslösen eines Buttones ein Textfeld generieren AWT, Swing, JavaFX & SWT 2
O Action Event auslösen bei unbekanntem JTextField AWT, Swing, JavaFX & SWT 3
E bei gedrückte Taste --> Bitte nur ein Event auslösen AWT, Swing, JavaFX & SWT 4
D Tastatur Shortcut auslösen bei FocusGained-Event AWT, Swing, JavaFX & SWT 2
P ActionListener auslösen AWT, Swing, JavaFX & SWT 6
S Bei SWT in einer Tabelle ein Event per Doppelklick auslösen? AWT, Swing, JavaFX & SWT 3
X MouseEvent selber auslösen AWT, Swing, JavaFX & SWT 12
A Mit der Combobox eine Action auslösen AWT, Swing, JavaFX & SWT 2
M JComboBox - Mittels FocusListener Event auslösen? AWT, Swing, JavaFX & SWT 4
T Java Runtime.exec per JButton auslösen -> Programm hängt AWT, Swing, JavaFX & SWT 10
A TreeModelEvents auslösen AWT, Swing, JavaFX & SWT 14
bernd Jlist, aktion auslösen AWT, Swing, JavaFX & SWT 22
J Aktion bei Click auf Blatt auslösen AWT, Swing, JavaFX & SWT 6

Ähnliche Java Themen

Neue Themen


Oben