首先你需要了解结构
每个cell的显示是由CellRenderer决定的
javax.swing.table.TableCellRenderer,这是一个接口,由一个方法,返回
Component,这个Component就是显示时用的组件.
JTable有一个默认的CellRenderer,它返回的是JLable,你需要自己实现TableCellRenderer,
决定放回值.
比如JComboBox
JTable每一列对应一个CellRenderer
每个cell的显示是由CellRenderer决定的
javax.swing.table.TableCellRenderer,这是一个接口,由一个方法,返回
Component,这个Component就是显示时用的组件.
JTable有一个默认的CellRenderer,它返回的是JLable,你需要自己实现TableCellRenderer,
决定放回值.
比如JComboBox
JTable每一列对应一个CellRenderer
那一列也显示是JComboBox,可是实例如何设上?
那个cellEditor如何设啊?help me!thank you very much!
cellEditor和cellRenderer道理一样呀
table.getColumnt(int).setCellEditor(TableCellEditor)
table.getColumnt(int).setCellRenderer(TableCellRenderer)
我用继承了JComboBox做了一个CellRenderer,但用setValueAt没法设上。
我想可能是默认的cellEditor有问题,但不知道为什么.
我知道你的意思了.
我想你需要先静下来看一看JTable的Doc和源代码.
不复杂,只是你要去看.
关于每行显示不同效果的问题,还是要在CellRenderer上下文章
1 如果你的CellRenderer继承JComboBox,搞头就不大了
2 你需要先定义关系,比如为什么这行是ComboxA,那行是ComboBoxB