我在JTable的2列中有一個JCheckboxes的JTable。假設列A和列B是JComboBox中的列。列A的JCheckbox項目是靜態的,可以進行硬編碼。但是,列B的JComboBox值的項目是動態的。我想要做的是,當用戶啓動應用程序時,列A的JcomboBox應該具有靜態值,並且它應該在組合框中顯示默認選定值爲「---選擇---」jtable中的動態jcombobox渲染
即I將組合框設置爲[「 - Select」,「X」,「Y」,「Z」]
另外,在列B的JComboBox中應該顯示默認值爲「Please Wait」過一段時間後它會動態更新。在此之前,它必須顯示「請稍候」。
經過一些用戶操作,我想用動態值更新列B的JComboBox。即使在這一點上,列B的JcomboBox值依賴於列A的JcomboBox選定項目。
我能夠動態更新這些值,但該JComboBox單元的渲染未按預期工作。
我曾嘗試以下,
Enumeration<TableColumn> c = myTable.getColumnModel().getColumns();
int i = 0;
while (c.hasMoreElements()) {
TableColumn column = c.nextElement();
column.setCellRenderer(new ComboBoxCellRenderer(i));
i++;
}
private static class ComboBoxCellRenderer extends JComboBox implements TableCellRenderer {
public ComboBoxCellRenderer(int column) {
// for (int i = 0; i < elements.length; i++) {
if (column == 0) {
addItem("--Select--");
addItem("X");
addItem("Y");
addItem("Z");
}
}
@Override
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
setSelectedItem(value);
return this;
}
}
如果我用這個代碼,那麼我無法選擇從JComboBo的項目。即使我選擇,它也沒有被選中。
我目前使用下面鏈接中提到的代碼。
這將大大幫助我,如果有人舉一個例子代碼這一點。
在此先感謝。