将JScrollPane添加到JTable组件

Tam*_*iri 4 java swing jtable jscrollpane

我正在尝试添加一个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);
}
Run Code Online (Sandbox Code Playgroud)

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

wat*_*ios 9

确保你正在添加JScrollPane到你的JFrame,而不是JTable.如果你最初只是一个JFrame和一个JTable你会像这样添加它...

JTable table = new JTable();
JFrame frame = new JFrame();
frame.add(table);
Run Code Online (Sandbox Code Playgroud)

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

JTable table = new JTable();
JFrame frame = new JFrame();
frame.add(new JScrollPane(table));
Run Code Online (Sandbox Code Playgroud)

或者像这样,如果你需要JScrollPane在你的代码中引用更晚的...

JTable table = new JTable();
JScrollPane scrollPane = new JScrollPane(table);
JFrame frame = new JFrame();
frame.add(scrollPane);
Run Code Online (Sandbox Code Playgroud)