sql >> Databasteknik >  >> RDS >> Mysql

Omedelbar uppdatering till JCombobox i Java

Om jag förstod att du vill att den nya medarbetaren som lades till ska vara den som väljs i kombinationsrutan?

När du har fått den nya medarbetarens namn och lagt till det i combobox, ring bara JComboBox#setSelectedItem(Object o) med namnet på den nya medarbetaren.

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

UPPDATERA

Enligt dina kommentarer:

Grunderna:

1) Hämta nya medarbetares namn eller vilken identifierare som matchar objekten i din kombinationsruta från dialogrutan Lägg till medarbetare.

2) Ring bara setSelectedItem(name) after the data has been added to combobox`.

Så du kanske ser din Lägg till arbetsgivare dialogruta returnera ett namn eller ha en metod för att få namnet som lades till i databasen. I din combobox-klass efter att dialogrutan stängts, skulle du uppdatera comboboxen med nya poster, få namnet tillagt via dialogrutan Lägg till anställd och anropa JComboBox#setSelectedItem(..) med namnet vi fick från Lägg till arbetsgivare dialog med getters eller statisk variabel

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. Hur ansluter man MySql-databas med Firebase?

  2. Skicka data från Kafka Topic till PostgreSQL i JSON

  3. Relationsdatabasschema för event sourcing

  4. ER_ACCESS_DENIED_ERROR:Åtkomst nekad för användare ''@'localhost' (med lösenord:NO)