-1

我正在使用 IntelliIdea IDE 及其内置的 GUI-Designer,这就是为什么有一些代码“丢失”的原因。我试图创建自己的 DefaultTableModel 类,但没有任何显示。没有错误或警告。我知道 stackoverflow 上还有很多其他 JTable 问题,但没有任何帮助。我在另一个类的主方法中调用 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);
}

表数据模型:

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

1 回答 1

0

要显示表格,您需要在JFrame. 您缺少将表添加到JFrame. JTable添加到JFrameJScrollPane比添加JScrollPane到 JFrame更好。添加以下代码:

spTableScroller =new JScrollPane(tbMainTable);
frame.add(spTableScroller );
于 2013-10-05T06:28:30.643 回答