Java:在AbstractTableModel中添加一行JCombobox



我正在尝试在扩展AbstractTableModel的类中创建一行,该行将包含JCombobox

我有一个二维数组,叫做数据。我还使用方法getColumnCount()来实现两个按钮"上一个"one_answers"下一个"。我已经标记了我认为JCombobox应该在哪里,但我不知道我应该如何在整行中实现。

public class SwitchTableModel extends AbstractTableModel{
    @Override
    public int getRowCount() {
        // Standard number of rows
        return 3;
    }
    @Override
    public int getColumnCount() {
        // Number of columns change according to the data
        return data [position].length + 1;
    }
    public Object getValueAt(int rowIndex, int columnIndex) {
        switch (rowIndex)
        {
        case 0:
            return columnIndex == 0 ? "ID" : idArray [data [position][columnIndex - 1]];
        case 1:
            return columnIndex == 0 ? "Company Name" : company_nameArray [data [position][columnIndex - 1]];
        case 2: 
            return columnIndex == 0 ? "Double" : ...???
        default:
            throw new Error ();
        }
    }
    public void previous ()
    {
        position -= 1;
        if (position < 0) position = data.length - 1;
        fireTableStructureChanged();
    }
    public void next ()
    {
        position += 1;
        if (position >= data.length) position = 0;
        fireTableStructureChanged();
    }
}

任何帮助都将是有价值的

在AbstractTableModel,中添加一行JCombox

  • 这是错误的想法,XxxTableModel只保留String form中最后一次选择(或第一次使用时初始化)的值(如果XxxComboBoxModel包含字符串形式的Item,如果有Number,则模型只包含一个munber)

  • 必须将JComboBox as EditorXxxTableModel分开,那么这个想法就适用于

  • 不要将JComboBox放在XxxTableModel上,遵循Oracle教程中的代码示例

相关内容

  • 没有找到相关文章

最新更新