我做了一些相当不错的搜索,但我不能很好地寻找什么。基本上我想要一个 JPanel 中的 JTable,并让 JPanel 根据 JTable 的大小重新调整自己的大小。我知道实现 JTable 的常用方法是使用 JScrollpane,但在这种情况下,它是不必要的,它使我的程序看起来......凌乱。
我找不到我需要的答案的原因是每次有人在 JPanel 中询问 JTable 时,都会有人给出将其放入滚动窗格的答案。我知道使用滚动窗格的优点,但在这种情况下它们没有优势。
我做了一些相当不错的搜索,但我不能很好地寻找什么。基本上我想要一个 JPanel 中的 JTable,并让 JPanel 根据 JTable 的大小重新调整自己的大小。我知道实现 JTable 的常用方法是使用 JScrollpane,但在这种情况下,它是不必要的,它使我的程序看起来......凌乱。
我找不到我需要的答案的原因是每次有人在 JPanel 中询问 JTable 时,都会有人给出将其放入滚动窗格的答案。我知道使用滚动窗格的优点,但在这种情况下它们没有优势。
是的,可以将JTable 添加到 JPanel,注意有几行填充真实屏幕分辨率
您也必须单独添加到TableHeader
容器中,否则不会添加或不可见,因为不需要单独添加或定义JTable
JScrollPane
TableHeader
更好的办法是从禁用和JScrollPane.setBorders(null)
禁用VERTICAL
和HORIZONTAL_SCROLLBAR
删除边界NEVER
用于缩小更宽JScrollPane
以适合JTables Dimension
可以使用table.setPreferredScrollableViewportSize(table.getPreferredSize());
尝试覆盖getPreferredSize()
JPanel 的方法并返回 JTable 的值getPreferredSize()
:
final JTable table = new JTable();
JPanel panel = new JPanel() {
public Dimension getPreferredSize() {
return table.getPreferredSize();
}
}