我幾乎沒有困惑。我正在嘗試更新JTable,但更新不會出現。這是我現在的代碼:更新JTable
private void addTable(){
table = new JTable();// the table for 'Benchmark' tab
table.setShowVerticalLines(false);
table.setBorder(null);
data = new Object[][] {
{"Key", ""},//result[0]
{"Precision", ""},//result[2]+" %"
{"Cipher", ""},//result[4]
{"Language", ""},
{"Performance", ""},//result[3]
};
String [] header = new String[] {"Subject of Interest", "Output"};
model = new DefaultTableModel(data, header);
table.setModel(model);
table.getColumnModel().getColumn(0).setPreferredWidth(136);
table.getColumnModel().getColumn(1).setPreferredWidth(550);
GroupLayout gl_panelBenchmark = new GroupLayout(panelBenchmark);
gl_panelBenchmark.setHorizontalGroup(
gl_panelBenchmark.createParallelGroup(Alignment.TRAILING)
.addComponent(textInfoCrypto, GroupLayout.DEFAULT_SIZE, 759, Short.MAX_VALUE)
.addGroup(gl_panelBenchmark.createSequentialGroup()
.addGap(10)
.addComponent(textPane, GroupLayout.DEFAULT_SIZE, 739, Short.MAX_VALUE)
.addGap(10))
.addGroup(Alignment.LEADING, gl_panelBenchmark.createSequentialGroup()
.addContainerGap()
.addComponent(table, GroupLayout.DEFAULT_SIZE, 739, Short.MAX_VALUE)
.addContainerGap())
);
gl_panelBenchmark.setVerticalGroup(
gl_panelBenchmark.createParallelGroup(Alignment.LEADING)
.addGroup(gl_panelBenchmark.createSequentialGroup()
.addContainerGap()
.addComponent(textInfoCrypto)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(textPane, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(table, GroupLayout.PREFERRED_SIZE, 79, Short.MAX_VALUE)
.addContainerGap())
);
panelBenchmark.setLayout(gl_panelBenchmark);
}
這就是我在這個階段嘗試更新單行的方法。下面的代碼是從另外的方法調用:
data[0][0]= result[0];
model.fireTableCellUpdated(0, 0);
在這個階段,我只能看到有行名稱的表框,但沒有數據。請幫忙嗎?
我喜歡讀它,說實話,但是這是非常緊迫的。我沒有時間從頭開始學習我遇到的所有問題。 – uml 2012-08-14 12:41:11