我正在使用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]);
}
}
答案 0 :(得分:0)
要显示表格,您需要在JFrame
上添加表格。您错过了将表格添加到JFrame
。最好将JTable
添加到JScrollPane
,然后将JScrollPane
添加到JFrame。添加以下代码:
spTableScroller =new JScrollPane(tbMainTable);
frame.add(spTableScroller );