簡體   English   中英

Java:在AbstractTableModel中添加一行JCombobox

[英]Java: Adding a row of JCombobox in a AbstractTableModel

我試圖在一個擴展AbstractTableModel的類中創建一個包含JCombobox的行。

我有一個稱為數據的2D數組。 我還使用方法getColumnCount()來實現兩個按鈕“Previous”和“Next”。 我已經標記了我認為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中添加一行JCombobox,

  • 這是錯誤的想法, XxxTableModel只保留最后一個選擇(或第一次使用時初始化)的String form值(在XxxComboBoxModel包含String形式的Item的情況下,如果有Number,那么model只包含一個munber)

  • 必須將JComboBox as Editor拆分JComboBox as EditorXxxTableModel ,然后這個想法才有效

  • 不要將JComboBox放到XxxTableModel ,請遵循Oracle教程中的代碼示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM