[SWT] Rechten Mausklick behandeln

gerritka

Mitglied
Hi,

würd gern auf einem Label 2 verschiedene Aktionen per Mausklick behandeln.
Nun gibt es ja die MouseEvents Up, Down und DoubleClicked. Jedoch gelten sie für beide Tasten.
Würd nun gern ein Ereignis (Text ändern) beim linken (!) Mausklick und ein Ereignis (Hintergrundfarbe ändern) beim rechten(!) Mausklick bahndeln.

Beispiele zu Swing hab ich hier schon gefunden. Aber das muss doch auch irgendwie in SWT gehen oder?

Danke schon mal für eure Hilfe!
 
Hallo!

Suchst du sowas:
Code:
/**
 * 
 */
package de.tutorials;

import org.eclipse.swt.SWT;
import org.eclipse.swt.events.MouseAdapter;
import org.eclipse.swt.events.MouseEvent;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;

/**
 * @author Darimont
 * 
 */
public class SWTRightMouseClickExample {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		final Display display = new Display();
		Shell shell = new Shell(display);
		shell.setText("SWTRightMouseClickExample");
		shell.setLayout(new FillLayout());
		final Label label = new Label(shell, SWT.BORDER);
		label.setText("Foo");
		label.addMouseListener(new MouseAdapter() {
			public void mouseDown(MouseEvent e) {
				switch (e.button) {
				case 1: { // links
					label.setText("links");
					break;
				}
				case 3: { // rechts
					label.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
					break;
				}
				}
			}
		});

		shell.pack();
		shell.open();

		while (!shell.isDisposed()) {
			if (!display.readAndDispatch()) {
				display.sleep();
			}
		}
	}
}

Gruß Tom
 

Neue Beiträge

Zurück