TITLE:JToolTipの表示位置

Posted by terai at 2010-05-03

JToolTipの表示位置

JToolTipの表示位置がマウスのドラッグに追従するように設定します。

  • &jnlp;
  • &jar;
  • &zip;

#screenshot

サンプルコード

@Override public void mouseDragged(MouseEvent me) {
  JComponent c = (JComponent)me.getSource();
  Point p = me.getPoint();
  if(SwingUtilities.isLeftMouseButton(me)) {
    tip.setTipText(String.format("Window(x,y)=(%4d,%4d)", p.x, p.y));
    //tip.revalidate();
    tip.repaint();
    //window.pack();
    window.setLocation(getToolTipLocation(me));
  }else{
    if(popup!=null) popup.hide();
    tip.setTipText(String.format("Popup(x,y)=(%d,%d)", p.x, p.y));
    p = getToolTipLocation(me);
    popup = factory.getPopup(c, tip, p.x, p.y);
    popup.show();
  }
}

解説

  • 左クリックしてドラッグ
    • JWindowに、JToolTipを追加して、Window#setLocation()で移動
  • 左クリック以外でドラッグ
    • PopupFactory#getPopup()で座標を指定した、Popupを取得し表示

コメント