java - JComboBox 未在 jTable 中打开

标签 java swing jtable jcombobox tablecelleditor

我创建了一个表格,其中每行的单元格中显示一个组合框。我分别使用以下两个类作为单元格编辑器和单元格渲染器。不知何故,当显示表格时,单击单元格中的每个组合框都不会打开。谁能给我提示吗?提前致谢

public class CellEditor extends DefaultCellEditor{

private static final long serialVersionUID = 1L;

public CellEditor(String[] items) {
    super(new JComboBox(items));
}
}

public class ComboBoxRenderer extends JComboBox implements TableCellRenderer {
/****/
private static final long serialVersionUID = 1L;

public ComboBoxRenderer(String[] items) {
    super(items);
}

public Component getTableCellRendererComponent(JTable table, Object value,
        boolean isSelected, boolean hasFocus, int row, int column) {

    if (isSelected) {
        this.setForeground(table.getSelectionForeground());
        super.setBackground(table.getSelectionBackground());
    } else {
        this.setForeground(table.getForeground());
        this.setBackground(table.getBackground());
    }        
    this.setSelectedItem(value);// Select the current value      
    return this;
}
}

最佳答案

请阅读JTable的教程,有Editors and RenderersUsing a Combo Box as an Editor ,本论坛上的一些示例(包括 JTable 中的 AutoCompleted JComboBox)或 herehere

但基本上是你的问题,(检查你是否设置了)

public boolean isCellEditable(int row, int col) {
    if (col == someInt) {
        return true;
    } else if (col == TableColumnsStartsWithZero) {
        return true;
    } else {
        return false;
    }
}

关于java - JComboBox 未在 jTable 中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6820446/

相关文章:

java - 如何从PNG图片构建个人JFrame

java - 获取 JFrame 的实际当前位置

java - 在 jtable 中显示数据库

java rowfilter 正则表达式 区域设置

java - 由于日期而导致 Android 数据库 SQLite 出错

JavaFx - 线程 "JavaFX Application Thread"java.lang.NullPointerException 中的无尽异常

java - 选择一个联系人并将其填写到EditText中

java - A *= B *= A *= B 是怎么求值的?

java - JPanel 布局管理器

java - Look&Feel 忽略了自定义 TableCellRenderer