Label Highlighting 2
/****************************************************************************** * Copyright (c) 1998, 2004 Jackwind Li Guojie * All right reserved. * * Created on Oct 28, 2003 8:10:30 PM by JACK * $Id: LabelHighlighting2.java,v 1.1 2003/12/22 12:07:54 jackwind Exp $ * * visit: http://www.asprise.com/swt *****************************************************************************/ import org.eclipse.swt.SWT; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseTrackListener; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; public class LabelHighlighting2 { Display display = new Display(); Shell shell = new Shell(display); Label label = new Label(shell, SWT.SHADOW_IN | SWT.CENTER); MouseTrackListener listener = new MouseEnterExitListener(); public LabelHighlighting2() { label.setText("Point your cursor here ..."); label.setBounds(30, 30, 200, 30); label.addMouseTrackListener(listener); shell.setText("Move your cursor to test ..."); shell.setSize(260, 120); shell.open(); while(! shell.isDisposed()) { if(! display.readAndDispatch()) {// If no more entries in event queue display.sleep(); } } display.dispose(); } class MouseEnterExitListener implements MouseTrackListener { public void mouseEnter(MouseEvent e) { display.syncExec(new Runnable() { public void run() { label.setBackground(display.getSystemColor(SWT.COLOR_YELLOW)); label.setText("Cursor enters the label"); } }); } public void mouseExit(MouseEvent arg0) { display.syncExec(new Runnable() { public void run() { label.setBackground(display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND)); label.setText("Cursor leaves the label"); } }); } public void mouseHover(MouseEvent arg0) { // do nothing } } public static void main(String[] args) { new LabelHighlighting2(); } }