• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:JToolTipの表示位置
#navi(../)
#tags()
RIGHT:Posted by &author(aterai); at 2010-05-03
*JToolTipの表示位置 [#e77cc7bb]
JToolTipの表示位置がドラッグでマウスカーソルに追従するように設定します。
---
title: JToolTipの表示位置
tags: [JToolTip, JWindow, MouseListener, MouseMotionListener]
author: aterai
pubdate: 2010-05-03T22:32:22+09:00
description: JToolTipの表示位置がドラッグでマウスカーソルに追従するように設定します。
---
* 概要 [#e77cc7bb]
`JToolTip`の表示位置がドラッグでマウスカーソルに追従するように設定します。

-&jnlp;
-&jar;
-&zip;
#download(https://lh5.googleusercontent.com/_9Z4BYR88imo/TQTVoUwnbfI/AAAAAAAAAn8/lAHqv08RJKA/s800/ToolTipLocation.png)

//#screenshot
#ref(http://lh5.ggpht.com/_9Z4BYR88imo/TQTVoUwnbfI/AAAAAAAAAn8/lAHqv08RJKA/s800/ToolTipLocation.png)

**サンプルコード [#p9c48ec0]
* サンプルコード [#p9c48ec0]
#code(link){{
@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を取得し表示
* 解説 [#w32ecab3]
- 左クリックしてドラッグ
-- `JWindow`に、`JToolTip`を追加して、`Window#setLocation()`で移動
- 左クリック以外でドラッグ
-- `PopupFactory#getPopup()`で座標を指定した、`Popup`を取得し表示

//**参考リンク
**コメント [#s6271bc0]
* 参考リンク [#i0350c1f]
- [[JSliderのノブをドラッグ中にToolTipで値を表示>Swing/SliderToolTips]]

* コメント [#s6271bc0]
#comment
#comment