[英]How to make a JTable without a JScrollpane
我做了一些相当不错的搜索,我不能正常寻找。 基本上我想在JPanel中使用JTable,并且JPanel根据JTable的大小重新调整自身大小。 我知道实现JTable的通常方法是使用JScrollpane但在这种情况下它是不必要的,它使我的程序看起来......凌乱。
我无法找到我需要的答案的原因是,每当有人询问JPanel中的JTable时,有人会给出答案,将它放在滚动窗格中。 我意识到使用滚动板的优点,但在这种情况下它们并不是有利的。
您必须将TableHeader
单独添加到容器中,否则不会添加,也不可见,因为JTable
不需要JScrollPane
添加或定义TableHeader
更好的方法是从JScrollPane.setBorders(null)
删除边框,并禁用VERTICAL
和HORIZONTAL_SCROLLBAR
到NEVER
缩小更宽的JScrollPane
以适应table.setPreferredScrollableViewportSize(table.getPreferredSize());
JTables Dimension
可以使用table.setPreferredScrollableViewportSize(table.getPreferredSize());
尝试覆盖JPanel的getPreferredSize()
方法并返回JTable的getPreferredSize()
:
final JTable table = new JTable();
JPanel panel = new JPanel() {
public Dimension getPreferredSize() {
return table.getPreferredSize();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.