swing jtable 中某一列有jtextfield又有jcombox怎么做
急急急
急急急
解决方案 »
- java 您的主机中的软件中止了一个已建立的连接。求解决
- 利用阻塞队列控制线程集?
- File.delete()方法问题.
- No enclosing instance of type ...
- 为什么我的java在dos下程序运行时,老是显示error:can not read ave.java.ave是我自己写的程序名,环境变量我也设置对了呀,运行java -version一切正常
- 修改字符串问题,求答!
- repaint()和repaintComponent()以及线程的问题
- 谁能给一个简单的用java实现telnet的代码,无限感激~~~
- 请教Java的字符串编码转换
- 请懂weblogic的朋友来看看!也许会有自己的见地!!欢迎大驾光临!
- my code!
- JAVA代码导出问题
加入到TableColumnModel里。因为:
TableCellRenderer.getTableCellRendererComponent
传过来的参数有 表格和当前所处的行列以及值,所以,你完全可以根据需求,判断后返回不同的component。
JComboBox moonCombo = new JComboBox();
for (int i = 0; i <= 20; i++)
moonCombo.addItem(i);TableColumnModel columnModel = table.getColumnModel();
TableColumn moonColumn = columnModel.getColumn(PlanetTableModel.MOONS_COLUMN);
moonColumn.setCellEditor(new DefaultCellEditor(moonCombo));
class MyEditor extends DefaultCellEditor { public MyEditor(JTextField textField) {
super(textField);
} @Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int row, int column) {
if (row % 2 == 0) {
return new JTextField();
} else {
return new JComboBox();
}
}
}然后 table.getColumnModel().getColumn(0).setCellEditor(new MyEditor(new JTextField()));
class MyEditor extends DefaultCellEditor { public MyEditor(JTextField textField) {
super(textField);
} @Override
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected,
int row, int column) {
if (row % 2 == 0) {
return new JTextField();
} else {
return new JComboBox();
}
}
}然后 table.getColumnModel().getColumn(0).setCellEditor(new MyEditor(new JTextField()));