从数据库中检索数据后,JComboBox项目刷新

时间:2015-05-27 07:54:57

标签: java database swing jcombobox

我正在使用JComboBox在我的applet中显示String[]。现在我需要在我的项目中在前一个面板中执行某些操作后填充comboBox。

以下是我写的代码:

JComboBox comboBox = new JComboBox(model);
comboBox.setMaximumRowCount(100);
comboBox.setEditable(true);
comboBox.setBounds(142, 196, 277, 20);

如何根据我在上一个小组中执行的操作做出相应的反应?

1 个答案:

答案 0 :(得分:1)

当您更改“模型”时,组合框视图应自动更新(因为标准或写得很好的ComboBoxModel会通知视图它需要更改)。

E.g。使“model”为DefaultComboBoxModel类型,然后在执行该“其他窗格上的操作”时 - 确保您的代码可以访问“model”,并进行更改。说到这可以直接访问:

actionPerformed(...){ // action from other pane
    ... // some logic
    otherPane.model.removeAllElements();
    otherPan.model.addElement(...)
}

然而,更好的设计不那么直接,例如您的操作可以触发您自己的事件(例如“productsAddedToMyStore”),并且窗格可以监听它然后更新模型。这减少了组件之间的耦合。