|
|
|
@ -91,6 +91,9 @@ public abstract class ItemEditableComboBoxPanel extends JPanel {
|
|
|
|
|
refreshWorker.cancel(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 记录原来选中的Item,重新加载后需要再次选中
|
|
|
|
|
Object lastSelectedItem = itemComboBox.getSelectedItem(); |
|
|
|
|
|
|
|
|
|
DefaultComboBoxModel model = ((DefaultComboBoxModel) itemComboBox.getModel()); |
|
|
|
|
model.removeAllElements(); |
|
|
|
|
|
|
|
|
@ -98,6 +101,12 @@ public abstract class ItemEditableComboBoxPanel extends JPanel {
|
|
|
|
|
model.addElement(EMPTY); |
|
|
|
|
model.addElement(PENDING); |
|
|
|
|
|
|
|
|
|
// 存在两种场景之前只考虑了填充场景 有populate会填充下 把这边的填充逻辑删了 所以没有问题
|
|
|
|
|
// 如果是纯通过刷新按钮 没有populate 需要手动设置下上次选中的内容
|
|
|
|
|
if (lastSelectedItem != null) { |
|
|
|
|
model.setSelectedItem(lastSelectedItem); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
refreshWorker = new SwingWorker<Iterator<String>, Void>() { |
|
|
|
|
@Override |
|
|
|
|
protected Iterator<String> doInBackground() throws Exception { |
|
|
|
|