Hvis jeg forstod, at du ønsker, at den nye medarbejder, der blev tilføjet, skal være det, der er valgt i kombinationsboksen?
Når du har fået den nye medarbejders navn og tilføjet det til combobox, skal du blot ringe til JComboBox#setSelectedItem(Object o)
med navnet på den nye medarbejder.
dvs.:
String newEmpName=...;
//code to add new employee goes here
//code to fill combobox with update values goes here
//now we set the selecteditem of the combobox
comboEmployer.setSelectedItem(newEmpName);
OPDATERING
I henhold til dine kommentarer:
Det grundlæggende:
1) Få et nyt medarbejdernavn eller en hvilken som helst identifikator, der matcher varerne i din kombinationsboks fra din dialogboks med tilføjelse af medarbejder.
2) Ring blot setSelectedItem(name) after the data has been added to
combobox`.
Så du kan muligvis se din Tilføj arbejdsgiver dialog returnere et navn eller have en metode til at få det navn, som blev tilføjet til databasen. I din combobox-klasse, efter dialogen er lukket, vil du opdatere comboboxen med nye poster, få navnet tilføjet via Tilføj medarbejder-dialogen og kalde JComboBox#setSelectedItem(..)
med det navn, vi fik fra Tilføj arbejdsgiver dialog ved hjælp af gettere eller statiske variable
dvs.:
class SomeClass {
JFrame f=...;
JComboBox cb=new ...;
...
public void someMethod() {
AddEmployerDialog addEmpDialog=new AddEmployerDialog(f);//wont return until exited or new name added
String nameAdded=addEmpDialog.getRecentName();//get the name that was added
//clear combobox of all old entries
DefaultComboBoxModel theModel = (DefaultComboBoxModel)cb.getModel();
theModel.removeAllElements();
//refresh combobox with the latest names from db
fillCombo();
//now we set the selected item of combobox with the new name that was added
cb.setSelectedItem(nameAdded);
}
}
class AddEmployerDialog {
private JDialog dialog;
private String empName;//emp name will be assigned when save is pressed or whatever
public AddEmployerDialog(JFrame frame) {
dialog=new JDialog(f);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setModal(true);//so that we dont return control until exited or done
//add components etc
dialog.pack();
dialog.setVisible(true);
}
public String getRecentName() {
return empName;
}
}