Swing/ToolTipLocation のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ToolTipLocation へ行く。
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を取得し表示