将JScrollPane添加到JTable组件

我正在尝试将JScrollPane添加到我的JTable ,但它似乎不起作用。 我有一个21行和5列的JTable ,我按照以下代码添加了一个JScrollPane

 public Targy_felv() { JScrollPane scrollPane; JFrame frame = new JFrame(); frame.setVisible(true); frame.setSize(600, 300); table = new JTable(); Object o[] = new Object[]{"Tárgynév", "Oktató", "Kredit", "Félév", "Tárgykód"}; table.setModel(new DefaultTableModel(get_Tárgyak(), o)); scrollPane = new JScrollPane(); scrollPane.getViewport().add(table); frame.add(table); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } 

有人可以帮我理解为什么滚动条没有出现。

确保将JScrollPane添加到JFrame ,而不是JTable 。 如果你最初只有一个JFrame和一个JTable你会像这样添加它…

 JTable table = new JTable(); JFrame frame = new JFrame(); frame.add(table); 

如果你要添加JScrollPane ,你需要更改你的add()方法来添加JScrollPane而不是JTable ,就像这样……

 JTable table = new JTable(); JFrame frame = new JFrame(); frame.add(new JScrollPane(table)); 

或者像这样,如果您需要稍后在代码中引用JScrollPane

 JTable table = new JTable(); JScrollPane scrollPane = new JScrollPane(table); JFrame frame = new JFrame(); frame.add(scrollPane); 

我注意到在初始代码frame.add(table); 将’table’更改为’scrollPane’并且它有效。