Требование : у меня есть список строк, отображаемых в ComboBox.Каждая из этих строк может иметь некоторые свойства.Эти свойства отображаются в PropertyTable.Свойства выбранного элемента ComboBox отображаются в таблице.Кроме того, мы используем PropertyTable для редактирования или установки значений свойств для выбранного элемента в поле со списком.
Проблема: В момент, когда я отменяю выбор элемента comboBox, скажем item1 , все существующие значения свойств в PropertyTable устанавливаются как новые значения свойств до 1Опять же, когда я возвращаю этот элемент item1 обратно, я должен получить вышеуказанные значения свойств (, т.е. значения до того, как item1 будет отменен ) обратно в PropertyTable?
Текущая реализация логики:
У меня есть TableCellListner для каждого PropertyTableCell, всякий раз, когда изменяется содержимое ячейки, оно принимает новое значение ячейки и присваивает его как новое значение свойства выбранному элементу комбинированного окна.всякий раз, когда выбирается новый элемент, таблица обновляется со значениями свойств выбранного элемента.
//before is Table initialization code
Action action = new AbstractAction()
{
public void actionPerformed(ActionEvent e)
{
TableCellListener table = (TableCellListener)e.getSource();
String selectedItem=(String)ComponentPropComboBox.getSelectedItem();
if(table.getColumn()==1 && selectedItem!=null)
{
Property property=propertyMap.get(selectedItem);
else if(table.getRow()==0)
{
property.setProperty("MIN_LENGTH", (String)table.getNewValue());
propertyMap.put(selectedItem, property);
}
else if(table.getRow()==1)
{
property.setProperty("STARTS_WITH_STRING", (String)table.getNewValue());
propertyMap.put(selectedItem, property);
}
}
}
};
TableCellListener tcl = new TableCellListener(PropertiesTable, action);
Как мне реализовать это требование, преодолев вышеуказанную проблему?
PS: TableCellListner являетсяНе общая библиотека Java.Вы можете просмотреть код и его объяснение по следующим ссылкам:
Я считаю, что вопрос очевиден!Пожалуйста, дайте мне знать, если вопрос не ясен. Заранее спасибо за вашу помощь и пожертвование знаний!