天天看點

java jtable重寫,java-關于jtable單元格編輯器的問題

我想實作一個用作選項清單的元件,使用者可以選擇是否選擇.

視覺上,我認為最好在UI中顯示它(如果有更好的方法,請告訴我),如下所示:

無論如何,我認為可以通過JTable(單列)并使用JCheckBox作為單元格編輯器來實作.

我嘗試過,但是沒有用.

代碼示例:

public class ListRenderer extends JFrame {

JCheckBox checkbox = new JCheckBox("Test");

DefaultCellEditor dce1 = new DefaultCellEditor(checkbox);

public ListRenderer(){

Object[][] data = { {"Test"} };

String[] columnNames = {"Options"};

DefaultTableModel model = new DefaultTableModel(data,columnNames);

JTable table = new JTable(model){

public TableCellEditor getCellEditor(int row, int column)

{

return dce1;

}

};

JScrollPane scrollPane = new JScrollPane( table );

getContentPane().add( scrollPane );

}

發生的事情是,當架構出現時,我在表中看到了“測試”,但它沒有顯示為複選框(如示例圖像中所示).

如果單擊該單元格,它将變成一個複選框(單擊左側的按鈕,而不是右側的按鈕),但是文本更改為顯示true或false!它不會一直顯示“測試”

本文的更多内容取決于我是否繼續按下該單元格.

據我所知,如果我将JCheckBox更改為JComboBox,則該行為是正确的.

有人可以告訴我我在做什麼錯嗎?

謝謝!