我喜歡用複選框和一個或兩個可選文本字段創建單元格。JTable與一個單元格中的多個元素
如果我點擊複選框,文本框會變得可見。我試圖讓一個ASCII畫面應該如何看起來像:
[ ]
[X] [some string]
[X] [value1] [value2]
我知道如何創建一個自定義的渲染,但我不知道如何返回多個元素。如果我有一個複選框渲染我只返回對JCheckBox:
class BooleanRenderer extends JCheckBox implements TableCellRenderer, UIResource
{
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
// doing some stuff...
return this;
}
}
我真的需要這樣做嗎?我可以使用分隔符將所有值存儲在一個單元格中:複選框| textfield1 | textfield2。也許不是很好,但那對我很有用。 – PiTheNumber
@PiTheNumber複選框等是表示,而不是值。因此你不能使用分隔符來存儲它們。當然,您可以使用字符串表示法並在每次需要訪問字段時解析該字符串,但是我會說創建包裝器對象會更容易編寫,理解和維護。 – Thomas
@托馬斯是對的;更多[這裏](http://stackoverflow.com/a/8347512/230513)。 – trashgod