将JScrollPane添加到JTable组件

时间:2012-05-16 12:56:27

标签: java swing jtable jscrollpane

我正在尝试向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);
}

有人可以帮我理解滚动条没有出现的原因。

2 个答案:

答案 0 :(得分:9)

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

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

如果您要添加JScrollPane,则需要更改add()方法以添加JScrollPane而非JTable,或者像这样...... < / p>

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

答案 1 :(得分:-1)

我注意到在初始代码frame.add(table);改变表#39; to&#39; scrollPane&#39;它有效。