我问下啊,就是JTable里面的数据保存啊,我点树状不同的节点这样一切换一下,JTabel里面的数据就会没了,我怎么保存呢?切回去的时候还会存在。。
[code="java"]
[1, IF, [sensor]{RHB - 400#1},On, IFELSE]
[2, ELSE, [sensor]{RHB - 400#RHB - 400},On, null]
[3, ENDIF, null, null]
[4, [TV] - TV/VIDEO, null, KEYSTEP]
//我把表格里面的数据取出来是这样的,我怎么设置到JTable里面去呢?
[/code]
[b]问题补充:[/b]
1. 有些列数没有数值,有些有。所以就会这样。
2.因为数据就直接添加到表格里面的。没有另外放到保存,所以一切换就没了。
所以我就想保存起来,在切换回去的时候,能拿出来 在添加表格里面的。。。
奥,这样的话,可以为树树节点加个事件,每次点击树节点的时候,重新构造JTabel。如果数据是在数据库中的话,那建议还是不要缓存了,直接从数据库取就可以,以保持同步。非要缓存的话,那可以以二维数组或二维Vector的形式进行缓存。JTable直接就支持这两种形式。或者干脆就把JTable的TableModel缓存起来,更方便。
大体上是这样,详细情况得根据lz的业务逻辑来定。
lz的问题问的有点抽象 :D
往JTable里面设置数据比较简单,通过JTable的构造方法或者TableModel就可以设置数据。
如下:
[code="java"]
JTable(Object[][] rowData, Object[] columnNames)
DefaultTableModel(Object[][] data, Object[] columnNames)
[/code]
详细情况看JavaDoc。
但有几个点先问一下:
1.表格里取出的数据为啥列数还不一样?
前两行是5列,后两行是四列。
2.JTabel里面的数据为啥会没了?因为点击树节点的时候有清除或更新动作吗?如果没有清除动作的话,那原来的JTable应该不会改变,可以继续使用。