/** * Constructs a new instance of this class given the display to create it on and a style value * describing its behavior and appearance. * * <p>The style value is either one of the style constants defined in class <code>SWT</code> which * is applicable to instances of this class, or must be built by <em>bitwise OR</em>'ing together * (that is, using the <code>int</code> "|" operator) two or more of those <code>SWT</code> style * constants. The class description lists the style constants that are applicable to the class. * Style bits are also inherited from superclasses. * * <p>Note: Currently, null can be passed in for the display argument. This has the effect of * creating the tracker on the currently active display if there is one. If there is no current * display, the tracker is created on a "default" display. <b>Passing in null as the display * argument is not considered to be good coding style, and may not be supported in a future * release of SWT.</b> * * @param display the display to create the tracker on * @param style the style of control to construct * @exception SWTException * <ul> * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent * <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass * </ul> * * @see SWT#LEFT * @see SWT#RIGHT * @see SWT#UP * @see SWT#DOWN */ public Tracker(Display display, int style) { if (display == null) display = Display.getCurrent(); if (display == null) display = Display.getDefault(); if (!display.isValidThread()) { error(SWT.ERROR_THREAD_INVALID_ACCESS); } this.style = checkStyle(style); this.display = display; }