java - 如何自动调整JSplitPane?

标签 java swing resize jsplitpane

在我的 Java Swing 应用程序中有一个垂直拆分的 JSplitPane,顶部是一个 JLabel,当我单击按钮更新一些信息时它可能会改变大小,底部是一个显示一些结果的 JPanel。

我的代码是这样的:

JLabel Top_Label=new JLabel();
Top_Label.setPreferredSize(new Dimension(1420,355));
JPanel Bottom_Panel=new JPanel();
Bottom_Panel.setPreferredSize(new Dimension(1420,445));
JSplitPane Results_Split_Pane=new JSplitPane(JSplitPane.VERTICAL_SPLIT,Top_Label,Bottom_Panel);

Top_Label 包含一个 html 表格。当我点击按钮更新数据时,Top_Label 有时会在 html 表格中包含较少的数据行并显示大量空白。

现在,当Top_Label显示一个小的html表格时,它会保持原来的大小,并留下很多空白,但是当我将它调整到更小的空间并点击按钮更新数据时,它就会有一个大的html表格,它不会扩大区域以适应更大的 html 表格,但是当我手动移动拆分栏时,它足够智能,不会小于 html 表格的高度,但如果有空白空间,它会让我缩小面积。

如何让Results_Split_Pane根据Top_Label的高度自动调整自己,这样当内容少的时候,split bar会升高到Top_Label中html表格的高度,当Top_Label的数据多的时候,Results_Split_Pane的split酒吧会走低吗?

最佳答案

JSplitPane 没有自动调整功能。

我建议你可以:

  1. PropertyChangeListener 添加到您的 JLabel
  2. 并监听 text 事件
  3. 获取标签的首选尺寸
  4. 使用 JSplitPanesetDividerLocation(...) 方法作为标签的首选高度。

关于java - 如何自动调整JSplitPane?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31973244/

相关文章:

java - 在 Swing 中遇到 Thread.sleep 问题

python - Numpy 调整大小/重新缩放图像

java - 连接多个结果集

java - 如何在没有域类的querydsl中构造查询

java - 用 Java 设计按钮(就像在 CSS 中一样)

google-maps - 调整谷歌地图标记的 svg 图标大小

jquery - 当 CSS 不是一个选项时使用 jQuery 进行媒体查询

java - 我应该如何从头开始java纠正这个程序?

Java 如何在 IST 中打印时间

java - 为所有组件Java设置相同的字体