コード例 #1
0
 public void mouseEnter(MouseEvent e) {
   if (entered == 0) {
     root.addPaintListener(painter);
     setBackground(root, ColorUtil.get(220, 220, 255));
   }
   entered++;
 }
コード例 #2
0
  private static class SelectableMouseTrackListener implements MouseTrackListener {
    SelectableMouseTrackListener(Control root) {
      this.root = root;
      initialBg = root.getBackground();
      root.addDisposeListener(
          new DisposeListener() {
            public void widgetDisposed(DisposeEvent e) {
              SelectableMouseTrackListener.this.root = null;
              border = null;
              painter = null;
              initialBg = null;
            }
          });
    }

    private Control root;
    private Color initialBg;
    private BorderStyle border = new BorderStyle.SimpleLine(ColorUtil.get(180, 180, 255), 1);
    private PaintListener painter =
        new PaintListener() {
          public void paintControl(PaintEvent e) {
            border.paint(e, 0);
          }
        };
    private int entered = 0;

    public void mouseEnter(MouseEvent e) {
      if (entered == 0) {
        root.addPaintListener(painter);
        setBackground(root, ColorUtil.get(220, 220, 255));
      }
      entered++;
    }

    public void mouseExit(MouseEvent e) {
      if (--entered == 0) {
        root.removePaintListener(painter);
        setBackground(root, initialBg);
      }
    }

    public void mouseHover(MouseEvent e) {}
  }