Java jtable内的动态jcombobox呈现
我有一个JTable,在JTable的两列中包含jcheckbox。假设A列和B列中都有JComboBox。列A的JCheckbox的项是静态的,可以硬编码。但是,列B的JComboBox值的项是动态的。我想做的是,当用户启动应用程序时,列A的JcomboBox应该有静态值,并且它应该在组合框中显示默认的选定值为“---选择--” i、 e.我会将combox项目设置为[“--选择”、“X”、“Y”、“Z”] 此外,在B列中,JComboBox的默认值应显示为“请等待”,这意味着,经过一段时间后,它将被动态更新。在此之前,它必须显示“请稍候” 在完成一些用户操作之后,我想用动态值更新列B的JComboBox。即使如此,B列的JcomboBox值也依赖于A列的JcomboBox选定项 我可以动态更新这些值,但将该单元格呈现为JComboBox的效果并没有达到预期效果 我试过以下方法Java jtable内的动态jcombobox呈现,java,swing,jtable,dynamic-data,jcombobox,Java,Swing,Jtable,Dynamic Data,Jcombobox,我有一个JTable,在JTable的两列中包含jcheckbox。假设A列和B列中都有JComboBox。列A的JCheckbox的项是静态的,可以硬编码。但是,列B的JComboBox值的项是动态的。我想做的是,当用户启动应用程序时,列A的JcomboBox应该有静态值,并且它应该在组合框中显示默认的选定值为“---选择--” i、 e.我会将combox项目设置为[“--选择”、“X”、“Y”、“Z”] 此外,在B列中,JComboBox的默认值应显示为“请等待”,这意味着,经过一段时间后
Enumeration<TableColumn> c = myTable.getColumnModel().getColumns();
int i = 0;
while (c.hasMoreElements()) {
TableColumn column = c.nextElement();
column.setCellRenderer(new ComboBoxCellRenderer(i));
i++;
}
private static class ComboBoxCellRenderer extends JComboBox implements TableCellRenderer {
public ComboBoxCellRenderer(int column) {
// for (int i = 0; i < elements.length; i++) {
if (column == 0) {
addItem("--Select--");
addItem("X");
addItem("Y");
addItem("Z");
}
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setSelectedItem(value);
return this;
}
}
枚举c=myTable.getColumnModel().getColumns();
int i=0;
而(c.hasMoreElements()){
TableColumn column=c.nextElement();
column.setCellRenderer(新ComboBoxCellRenderer(i));
i++;
}
私有静态类ComboxCellRenderer扩展了JComboBox实现了TableCellRenderer{
公共ComboxCellRenderer(int列){
//for(int i=0;i