2012-05-16 53 views
4

我试图将JScrollPane添加到我的JTable,但它似乎不起作用。我有21行5列的JTable,和我加入一个JScrollPane按照下面的代码...将JScrollPane添加到JTable组件

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); 
} 

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

+2

请向我们显示您的代码。 –

回答

8

确保您将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); 
+0

+1这是一个没有看到代码的远景! – assylias

+0

:-)谢谢,是的,但看起来它已经回报。只是指望用户不要将JScrollPane正确添加到JFrame/JPanel。 OMG! – wattostudios

+0

谢谢,它现在可以工作!-.- :) –

-1

我注意到在初始代码中frame.add(table);将'table'更改为'scrollPane'并且它可以工作。