SWT Jface Eclipse Java

/******************************************************************************
 * Copyright (c) 1998, 2004 Jackwind Li Guojie
 * All right reserved. 
 * 
 * Created on Oct 28, 2003 8:10:30 PM by JACK
 * $Id: LabelHighlighting3.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.MouseTrackAdapter;
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 LabelHighlighting3 {
  Display display = new Display();
  Shell shell = new Shell(display);
  Label label = new Label(shell, SWT.SHADOW_IN | SWT.CENTER);
  MouseTrackListener listener = new MouseEnterExitListener();
  
  public LabelHighlighting3() {
    
    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 extends MouseTrackAdapter {
    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 static void main(String[] args) {
    new LabelHighlighting3();
  }
}