JTable不会显示任何内容

时间:2013-10-05 06:21:32

标签: java swing jtable

我正在使用IntelliIdea IDE及其内置GUI-Designer,这就是为什么有些代码“缺失”。我试图创建自己的DefaultTableModel类,但没有显示任何内容。没有错误或警告。我知道堆栈溢出有很多其他JTable问题,但没有任何帮助。我在另一个类的main-Method中调用createUIComponents方法。

框:

public class SWOFrame {
private JTable      tbMainTable;
private JPanel      mainPanel;
private JButton     btnAdd;
private JTextField  tfWork;
private JTextField  tfHours;
private JScrollPane spTableScroller;

private String[][] testData = {{"hallo", "ianac"}, {"sssfs", "faffe"}};

public void createUIComponents() {
    JFrame frame = new JFrame("SWOFrame");
    frame.setContentPane(new SWOFrame().mainPanel);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    tbMainTable.setModel(new SWOTableModel(testData));

    frame.pack();
    frame.setVisible(true);
}

tableDataModel:

public class SWOTableModel extends DefaultTableModel {

    String[] columnNames = {"Work", "Hours"};

    SWOTableModel(Object[][] data) {
        for(String name : columnNames)
            addColumn(name);

        for(int i=0; i<data.length; i++)
            addRow(data[i]);
    }
}

1 个答案:

答案 0 :(得分:0)

要显示表格,您需要在JFrame上添加表格。您错过了将表格添加到JFrame。最好将JTable添加到JScrollPane,然后将JScrollPane添加到JFrame。添加以下代码:

spTableScroller =new JScrollPane(tbMainTable);
frame.add(spTableScroller );