JTable无法添加滚动条



我有一个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);

现在这张桌子甚至都没有显示。

contentPane.add(表);

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

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

contentPane.add(panel);

此处:

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

通过限制JTable的大小,防止它在需要时过期(从而显示JScrollPane的滚动条),这是在自食其果。

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

最新更新