【发布时间】:2015-11-12 15:42:08
【问题描述】:
我正在构建一个使用 JSplitPanes 的 Java swing 应用程序。有时,当我测试我的应用程序时,JSplitPanes 在某些操作后会跳转到它们的默认位置。我可以将分隔线移动到任何位置,但某些操作总是会导致分隔线跳转到程序第一次打开时的相同位置。
我的代码太大,无法显示示例,所以我想知道一般情况下是什么原因造成的。
我尝试过的一件事是调用 revalidate(),这确实阻止了 JSplitPanes 跳转。但是,它导致另一个系统(使我们的菜单动态化的系统)完全停止工作。
有没有办法在不破坏动态菜单系统的情况下阻止 JSplitPanes 跳转?
【问题讨论】:
-
My code is too large to show samples of,- 这就是为什么您需要创建一个 SSCCE 来演示问题的原因。在创建 SSCCE 时,您可能会发现问题。However, it caused the dynamic menus to stop working altogether- 我们不知道这是什么,这就是为什么你需要发布 SSCCE 来展示这个概念。 SSCCE 的目的不是发布您的申请,而是让您想出一种简单的方法来展示导致问题的概念。 -
@camickr 谢谢你的建议,我会试试这个
-
多种因素可能会影响这一点,但我首先要调查的可能是组件的最小/最大尺寸
-
@MadProgrammer 是的,如果你看看我的回答,设置首选大小是可以接受的解决方法
-
@shieldgenerator7 我认为在没有进一步说明原始问题的情况下使用 preferredSize
标签: java swing jsplitpane