【问题标题】:Java resizing window including a JSplitPane : fixed size panel?Java 调整窗口大小,包括 JSplitPane:固定大小的面板?
【发布时间】:2018-04-20 15:05:12
【问题描述】:

我的软件中有一个 JSplitpane,里面有两个 JPanel,我希望分隔线的高度随着屏幕大小调整而调整

当我调整大小时会发生以下情况:

我一直在到处寻找这个,我知道它一定很容易修复,但我找不到它。

【问题讨论】:

  • 没有尝试任何东西,我会说你需要有点复杂。我首先捕获父容器的componentResized 事件和分隔符的propertyChange 事件。您想获得dividerLocation 并计算它正在使用的可用高度的百分比。当componentResized 被调用时,您想用此信息更新dividerLocation - 当用户更新dividerLocation 以及程序何时更新时,就会知道诀窍
  • (1-) 查看您的最后一个问题:stackoverflow.com/questions/47162625/…。您被要求发布证明问题的minimal reproducible example。这帮助您解决了最后一个问题,它将帮助您解决这个问题。我们不可能根据图像猜测您的代码在做什么。 I would like the height of the divider to ajust with the screen resize - 这应该会自动发生。 JSplitPane 提供了一种方法让您指定在大小变化时如何分配空间。
  • 我不同意,首先,我没有在上一篇文章中发布最小完整和可验证的示例,其次没有人需要阅读任何代码,这只是基本的 Java UI 恶作剧。现在,对于我需要的实际部分,“指定大小变化时如何分配空间的方法”在哪里?不用像 MadProgrammer 所说的那样去做就好了。
  • I didn't post a Minimal Complete and Verifiable example on my last post - 我知道你没有。您被要求发布,因为每个问题都应该发布。 no one needs to read any code - 如果我们帮助您解决问题。您最后一个问题的解决方案是一些隐藏的代码,论坛上没有人猜到它们正在被使用。所以我们只能假设我们在这里有同样的问题。问题出在拆分窗格或框架的布局管理器上。我们没有5 hours to waste 猜测您可能会或可能不会在做什么。
  • wheres the 'method... - 你可以阅读 API,我忘记了确切的名称。

标签: java swing resize splitpane


【解决方案1】:

Link to the API/Method

所需代码:

splitPane.setResizeWeight(1);

解释:

默认值为0,表示右/下组件获取 所有额外的空间 (左侧/顶部组件的行为固定),其中值 1 指定 left/top 组件获得所有额外的空间(right/bottom 组件起作用 固定的)。具体来说,左侧/顶部组件获得 (weight * diff) 额外空间 并且右/下组件获得 (1 - weight) * diff 额外空间。

【讨论】:

    猜你喜欢
    • 2011-08-18
    • 2012-12-13
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    • 2011-06-25
    • 2014-02-20
    • 1970-01-01
    • 2014-02-15
    相关资源
    最近更新 更多