我想自动隐藏JToolBar,只有当鼠标移到JToolBar附近/上方时,它才会出现。我已经在JPanel中添加了JToolBar。JToolBar中没有鼠标悬停监听程序。该怎么做呢?
发布于 2011-11-17 23:04:46
将MouseMotionListener添加到您的JFrame或JDialog。
addMouseMotionListener(new MouseAdapter() {
public void mouseMoved(MouseEvent e) {
toolbar.setVisible(e.getY() < 10);
}
});这样,只有当鼠标位于窗口的顶部10个垂直像素时,才会显示工具栏。
发布于 2011-11-17 23:59:32
JToolBar中没有鼠标悬停监听器
您将使用MouseListener来处理mouseEntered和mouseExited事件。
但是您会遇到一个问题,因为鼠标事件将只传递给一个可见的组件。所以一旦你隐藏了工具栏,它将不会收到mouseEntered事件。
所以我不明白你的设计。您是否计划让其他组件向上移动以填充工具栏的空间?或者你会把空间留空吗?在后一种情况下,您需要将MouseMotionListener添加到面板并处理mouseMoved事件,以查看鼠标位于工具栏应该所在的位置。
https://stackoverflow.com/questions/8169051
复制相似问题