我想實作一個用作選項清單的元件,使用者可以選擇是否選擇.
視覺上,我認為最好在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,則該行為是正确的.
有人可以告訴我我在做什麼錯嗎?
謝謝!