JTable无法添加滚动条

时间:2014-10-30 13:43:57

标签: java swing jtable jscrollpane null-layout-manager

我有JTable的记录无法容纳,所以我决定添加滚动条。但是,滚动条没有出现。我做错了什么?

new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

            table.setBounds(10, 73, 850, 850);

根据答案我现在就这样:

JScrollPane panel = new JScrollPane(table, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, 
JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
            table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

            panel.setBounds(10, 73, 850, 850);
            contentPane.add(table);

现在表格甚至没有显示。

2 个答案:

答案 0 :(得分:4)

  

contentPane.add(表);

您正在从滚动窗格中删除该表。

您必须将滚动窗格添加到框架中。代码应该是:

contentPane.add(panel);

答案 1 :(得分:3)

下面:

table.setBounds(10, 73, 850, 850);
通过约束JTable的大小来防止它在需要时显示(并因此显示JScrollPane的滚动条),从而使自己陷入困境。

从不,永远,永远不要设置任何组件的绝对大小,避免使用空布局,而是让组件的首选大小和布局管理器为您完成。你的是一个常见的新手错误,因为似乎通过自己设置所有尺寸和位置来创建复杂的GUI应该更容易,但你很快就会发现这是一个谬论,当你这样做,你不必要地限制了GUI的灵活性和可更新性,而且你会发现它在你自己以外的所有平台和屏幕分辨率上看起来都很糟糕。再次,学习并使用布局管理器。