【问题标题】:Using JComboBox as Cell Editor in JTable and saving changes在 JTable 中使用 JComboBox 作为单元格编辑器并保存更改
【发布时间】:2012-03-14 18:33:59
【问题描述】:

我使用JComboBox 作为JTable 的单元格编辑器。当我从 ComboBox 的下拉列表中选择一个值时,setValueAt 不会被调用。我知道这一点,因为我已经覆盖了该功能。根据在此单元格中选择的值,同一表格的另一个单元格中的值是固定的。另外,我需要知道该事件的 actionListener 是哪个,即当我更改 ComboBox 中的值时。

setValueAt 仅在焦点更改到表格中的另一个单元格时才会被调用,仅在表格外部单击也无济于事。

@Override 
public void setValueAt(Object o,int row,int col)
{
    super.setValueAt(o, row, col);

    if(((String)o).matches("1"))
    {
        super.setValueAt(o, col-1, row+1);
        return;
    }

    if(((String)o).contains("/"))
        super.setValueAt(((String)o).substring(2), col-1, row+1);
    else
        super.setValueAt("1/"+(String)o, col-1, row+1);
}

【问题讨论】:

    标签: java swing jtable jcombobox


    【解决方案1】:

    我刚刚找到了路……

    我需要将 actionListener 添加到我创建为 CellEditor 类的成员的 JComboBox 组件中,并且在侦听器函数中,我需要调用 stopCellEditing 以便调用 setValueAt...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 2014-01-01
      • 1970-01-01
      • 2013-04-20
      • 2023-03-23
      • 2010-11-16
      • 1970-01-01
      相关资源
      最近更新 更多