2013-10-08 72 views
1

我有兩個類:gui和具有變量的類,如tab [] []。我想要做我的JTable動態,我必須使用TableModelListner,但我不知道我該怎麼做,我的表將被更新,例如:Java動態Jtable

tab [1] [0]我改變了GUI和標籤[1] [1],標籤[1] [2],標籤[1] [3]的值將是新的。

table = new JTable(classone.tab,columnsN); 
    table.setPreferredScrollableViewportSize(new Dimension(500,150)); 
    table.setFillsViewportHeight(true); 
    JScrollPane scrollPane = new JScrollPane(table); 
    add(scrollPane); 
+0

'Java的動態Jtable'沒有用的東西'TableModelListner',XxxTableModel負責持有並通知任何改變,TableModelListener射擊只有那些事件 – mKorbel

+0

的一部分旅遊問題不清楚。特別是詳細說明這個部分:'tab [1] [0]我在GUI中更改,並且tab [1] [1],tab [1] [2],tab [1] [3]的值將是新的' – Sage

回答

1

我有兩個類:GUI和類變量,如標籤[] []

一旦創建JTable中你永遠不應該再引用標籤[] []。該陣列將用於創建一個DefaultTableModel。如果您想進行動態更改,您必須更改TableModel。

要添加新的數據行,你可以使用

model.addRow(...); 
model.insertRow(....); 
model.removeRow(...); 

閱讀其他方法的DefaultTableModel API。

要改變現有的數據可以使用:

table.setValueAt(...); 
+0

! [屏幕GUI] [1] [1]:http://i.stack.imgur.com/eyMct.png例如100〜140,其餘的值應該改變,因爲在第一行 我編輯值他們依賴於編輯過的價值。我該怎麼辦? – user2458768

+0

編寫TableModelListener,然後根據需要使用setValueAt()方法。或者覆蓋TableModel的setVAlueAt(..)方法並根據需要更新數據。 – camickr