Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JTable无法添加滚动条_Java_Swing_Jtable_Jscrollpane_Null Layout Manager - Fatal编程技术网

Java JTable无法添加滚动条

Java JTable无法添加滚动条,java,swing,jtable,jscrollpane,null-layout-manager,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, 7

我有一个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);
现在这个表甚至没有显示出来

这里:

table.setBounds(10, 73, 850, 850);
通过限制JTable的大小,阻止它在需要时进行解释(从而显示JScrollPane的滚动条),这是在打击自己

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

contentPane.add(表)

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

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

contentPane.add(panel);

您需要将
setbounds
提供给
JScrollPane
而不是
JTable
。并避免使用
null
layoutshanks,然后如何设置最小大小?@OndrejTokar在任何LayoutManager中,
JScrollPane
应该是您设置大小的。