动态更改JComboBox

Sum*_*n95 22 java swing jcombobox

我成功地从数据库中获取数据值.我还将它们存储在一个String[]数组中.我需要加载String数组作为JComboBox响应key action执行的项目.JComboBox如果取出的键取决于按下的键,如何重新加载按键的项目.相反,我需要动态刷新JComboBox项目.

cam*_*ckr 36

DefaultComboBoxModel model = new DefaultComboBoxModel( yourStringArray );
comboBox.setModel( model );
Run Code Online (Sandbox Code Playgroud)


unh*_*ler 6

你有几个选择.您可以使用removeAllItems()(或其他一种删除方法)并addItem(Object anObject)操纵可选对象.或者您可以实现ComboBoxModel并允许它从您的阵列提供数据.


Ali*_*ice 6

这是用于说明默认组合框模型的演示

public class ComboPanel extends JPanel {

    JComboBox jcbo;
    // this is constructor
    public ComboPanel(ArrayList<String> items) {
        jcbo = new JComboBox();
        // getting exiting combo box model
        DefaultComboBoxModel model = (DefaultComboBoxModel) jcbo.getModel();
        // removing old data
        model.removeAllElements();

        for (String item : items) {
            model.addElement(item);
        }

        // setting model with new data
        jcbo.setModel(model);
        // adding combobox to panel
        this.add(jcbo);    
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望这会有所帮助:)