Swing/ToolTipLocation のバックアップ(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ToolTipLocation へ行く。
- title: JToolTipの表示位置 tags: [JToolTip, JWindow, MouseListener, MouseMotionListener] author: aterai pubdate: 2010-05-03T22:32:22+09:00 description: JToolTipの表示位置がドラッグでマウスカーソルに追従するように設定します。
概要
JToolTip
の表示位置がドラッグでマウスカーソルに追従するように設定します。
Screenshot
Advertisement
サンプルコード
@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();
}
}
View in GitHub: Java, Kotlin解説
- 左クリックしてドラッグ
JWindow
に、JToolTip
を追加して、Window#setLocation()
で移動
- 左クリック以外でドラッグ
PopupFactory#getPopup()
で座標を指定した、Popup
を取得し表示