我正在使用IntelliIdea IDE及其內置GUI設計器,這就是爲什麼有一些代碼「丟失」。我試圖創建自己的DefaultTableModel類,但沒有顯示出來。沒有錯誤或警告。我知道在stackoverflow上有很多其他的JTable問題,但沒有什麼幫助。我在另一個類的main-Method中調用createUIComponents方法。JTable不會顯示任何東西
框架:
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]);
}
}
在哪裏添加表? – Masudul
這個「frame.setContentPane(new SWOFrame()。mainPanel);」看起來對我很可疑... – MadProgrammer
它被autocreated,所以我甚至沒有看過它,愚蠢的我。刪除「新的SWOFrame()」。解決了這個問題,謝謝。 – Christian