gpt4 book ai didi

java - 如何使 JSplitPane 在鼠标悬停时自动展开?

转载 作者:行者123 更新时间:2023-12-01 18:40:12 24 4
gpt4 key购买 nike

我想制作一个具有 Swing 布局的 Java 程序,其中左侧有一个菜单,当鼠标悬停在菜单区域上时该菜单会展开,但在鼠标离开后会自动收缩。

我正在尝试模仿 Android 版移动 Youtube 或 Weebly 编辑器等的效果。对于那些不知道的人来说,这两种布局的左侧都有菜单,当鼠标悬停在菜单上时,菜单会展开。然后,当鼠标离开该区域后,菜单会再次收缩并消失。

我能够成功创建包含菜单的 JSplitPane,但我不知道如何使其在用户鼠标悬停在 JSplitPane 组件上时自动展开,或者如何在鼠标离开该区域后使其收缩。

如果有人想知道为什么:这种类型的菜单对于用户来说很容易使用,但因为它在不需要时隐藏起来,让我有更多的空间用于程序的主要部分。

如有任何帮助,我们将不胜感激!

最佳答案

我们将使用jSplitPan.setDividerLocation(location);:设置分隔线的位置。 location - 指定 UI 特定值(通常是像素计数)的 int。

jSplitPane1.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent evt) {
// use evt.getSource() if needed
jSplitPan1.setDividerLocation(location);
}
});

您可能需要稍微智能地计算分隔线位置。提示:通过计算相关的首选大小提示。相关部分应该由您发现。

查看官方教程页面即可知道:How to use MouseMotionListeners包括其他事件监听器。

关于java - 如何使 JSplitPane 在鼠标悬停时自动展开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com