I’m struggling with update my item in JComboBox. When I load item from a file, the combobox display properly, however when I tried to add or remove item from combobox item, the combobox doesn’t update automatically, it still remain the same item instead. Here is my code
This is where I load the combobox item
ObjectInputStream input;
try {
// TODO add your handling code here:
JFileChooser openFileChooser = new JFileChooser();
openFileChooser.setCurrentDirectory(new File("."));
if (openFileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
input = new ObjectInputStream(new FileInputStream(openFileChooser.getSelectedFile()));
diary = (Diary)input.readObject();
jTextArea3.setText(diary.getUnitCollection().toString());
input.close();
//Load Unit Item
for (Unit u: diary.getUnitCollection()){
jComboBox8.addItem(u.getUnitName());
jComboBox1.addItem(u.getUnitName());
}
}
} catch (ClassNotFoundException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
}
This is button to remove item
private void jButton7ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
for (int i = 0; i < diary.getUnitCollection().size(); i++){
if (jComboBox8.getSelectedItem().equals(diary.getUnitCollection().get(i).getUnitName())){
diary.getUnitCollection().remove(diary.getUnitCollection().get(i));
jTextArea3.setText("The Unit " + jComboBox8.getSelectedItem()+ " has been removed successfully");
}
}
}
edit: just fix style (code block)
You need to add and remove content via a model, check out http://docs.oracle.com/javase/7/docs/api/javax/swing/DefaultComboBoxModel.html