我在Java Swing屏幕中遇到了一个奇怪的情况。基本上我有一个带有两个标签的JTabbedPane。在第一个选项卡中有很多JLabel,一个在另一个之上,在第二个选项卡中有一个JXTable。此表负责确定屏幕中JTabbedPane的高度,因为它在选项卡之间具有更大的高度(由JXTable.setVisibleRowCount确定),并且几乎所有时间都可以正常工作。但是,当第一个选项卡中的任何标签包含太大且需要断行的文本(它们是HTML标签)时,JTabbedPane会调整大小以适应第一个选项卡所需的最小高度并切断表的内容在第二个标签中。任何想法为什么会这样?
答案 0 :(得分:1)
在我有时间开发Minimal, Complete, and Verifiable example之前,我已经找到了问题所在。这完全是关于第二个标签中我的表格JScrollPane的minimumSize,它没有设置。在使用相同的getPreferredSize值(下面的代码)定义了最小大小后,它运行正常。
scrollPane.setMinimumSize(table.getPreferredSize());