sql >> Database teknologi >  >> RDS >> Mysql

Øjeblikkelig opdatering til JCombobox i Java

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;
    }

}



  1. Opret trigger i SQL Server

  2. MySQL-lagrede procedurer bruger dem eller ikke til at bruge dem

  3. Flere kolonneværdier i en enkelt række

  4. Forbind en web-app på tomcat-beholder til mysql-beholder via dvale