jtable在指定的单元格添加JComboBox jtable在指定的单元格添加JComboBox小弟不才,希望大虾们指点一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 想要其中一个为combobox,其他为textfield 1,我发现用jtable 的 prepareEditor(), 没有效果, ??? 2,于是用方法二继承DefaultCellEditor,覆写getTableCellEditorComponent(), 结果取不到值??? 附上部分代码: public class TestTableCellEditor extends DefaultCellEditor { JComboBox comboBox = new JComboBox(new String[] { "a ", "b "}); public TestTableCellEditor () { super(new JTextField()); } public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { if (row == 0 && column == 0) { comboBox.setSelectedItem(value); return comboBox; } else { return super.getComponent(); } } } http://www.exampledepot.com/egs/javax.swing.table/ComboBox.html http://www.crionics.com/products/opensource/faq/swing_ex/JTableExamples1.htmllz可以看下这个,利用里面的eachrowrenderer和eachroweditor实例可以做到为一列的不同行添加不同的控件 JComboBox cb = new JComboBox(); cb.addItem("1");cb.addItem("2"); tab.getColumnModel().getColumn(0).setCellEditor( new DefaultCellEditor(cb)); 可以参考JDK根目录/demo/jfc/SwingSet2下的SwingSet2.jar中的实例,双击打开后,找到table的实例,,在Source Code标签面板中查看相关源码,其他控件的实例同理(JKD6.0新加了lookandfeel,有时间可研究) java正则是否有非表达式 怎样 在 下次 编译 程序时 不用输入 路径名啊!! 帮忙写个程序 集合问题。。 js里的document.write总是转到新的页面输出??? 急,请高手指点一下,非常感谢!!! 使用jni出现的问题 把一个byte[] 转化为String的问题 **Help Help******读不出数据 简单的问题,有关于用到swing的applet java代码版本不兼容,出来“使用了未经检查或不安全的操作” java中如何把string型的001转为int型的001
1,我发现用jtable 的 prepareEditor(), 没有效果, ??? 2,于是用方法二继承DefaultCellEditor,覆写getTableCellEditorComponent(), 结果取不到值??? 附上部分代码:
public class TestTableCellEditor extends DefaultCellEditor {
JComboBox comboBox = new JComboBox(new String[] { "a ", "b "}); public TestTableCellEditor () {
super(new JTextField());
} public Component getTableCellEditorComponent(JTable table,
Object value,
boolean isSelected,
int row,
int column) {
if (row == 0 && column == 0) {
comboBox.setSelectedItem(value);
return comboBox;
} else {
return super.getComponent();
}
}
}
lz可以看下这个,利用里面的eachrowrenderer和eachroweditor实例可以做到为一列的不同行添加不同的控件
cb.addItem("1");
cb.addItem("2");
tab.getColumnModel().getColumn(0).setCellEditor(
new DefaultCellEditor(cb));