我想自动隐藏JToolBar
并且仅当鼠标靠近/越过JToolBar
. 我已经添加了JToolBar
in JPanel
。中没有鼠标悬停监听器JToolBar
。这该怎么做?
问问题
2048 次
2 回答
4
将 a 添加MouseMotionListener
到您的JFrame
orJDialog
中。
addMouseMotionListener(new MouseAdapter() {
public void mouseMoved(MouseEvent e) {
toolbar.setVisible(e.getY() < 10);
}
});
这样,只有当鼠标位于窗口的前 10 个垂直像素中时,才会显示工具栏。
于 2011-11-17T15:04:45.927 回答
3
JToolBar 中没有鼠标悬停监听器
您将使用MouseListener
is 处理mouseEntered
和mouseExited
事件。
但是您会遇到问题,因为鼠标事件只会传递给可见组件。所以一旦隐藏工具栏是不会收到 mouseEntered 事件的。
所以我不明白你的设计。您是否打算让其他组件向上移动以填充工具栏的空间?或者你会把空间留空?在后一种情况下,您需要将 MouseMotionListener 添加到面板并处理 mouseMoved 事件以查看鼠标位于工具栏应位于的位置。
于 2011-11-17T15:59:31.623 回答