4

我正在尝试将 a 添加JScrollPane到我的JTable中,但它似乎不起作用。我有一个JTable21 行和 5 列,我正在添加一个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);
}

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

4

2 回答 2

12

确保您将 . 添加JScrollPane到您的JFrame中,而不是JTable. 如果你最初只有 aJFrame和 aJTable你会像这样添加它......

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);
于 2012-05-16T13:09:09.457 回答
0

我在初始代码中注意到 frame.add(table); 将 'table' 更改为 'scrollPane' 就可以了。

于 2014-10-31T15:40:07.923 回答