• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JToolTipの表示位置
#navi(../)
RIGHT:Posted by [[terai]] at 2010-05-03
*JToolTipの表示位置 [#e77cc7bb]
JToolTipの表示位置がマウスのドラッグに追従するように設定します。

-&jnlp;
-&jar;
-&zip;

#screenshot

**サンプルコード [#p9c48ec0]
#code{{
@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();
  }
}
}}

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

//**参考リンク
**コメント [#s6271bc0]
#comment