sql >> Database >  >> RDS >> Mysql

Onmiddellijke update naar JCombobox in Java

Als ik het goed heb begrepen, wilt u dat de nieuwe medewerker die is toegevoegd wordt geselecteerd in de keuzelijst?

Zodra u de naam van de nieuwe werknemer hebt en deze aan de combobox hebt toegevoegd, belt u gewoon JComboBox#setSelectedItem(Object o) met de naam van de nieuwe medewerker.

dat wil zeggen:

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

UPDATE

Volgens uw opmerkingen:

De basis:

1) Haal de naam van een nieuwe werknemer op of welke identifier dan ook die overeenkomt met die van de items in uw combobox in uw dialoogvenster voor het toevoegen van werknemer.

2) Roep dan gewoon setSelectedItem(name) after the data has been added to combobox`.

U ziet dus mogelijk uw Werkgever toevoegen dialoog een naam teruggeven of een methode hebben om de naam te krijgen die aan de database is toegevoegd. In uw combobox-klasse nadat het dialoogvenster is gesloten, zou u de combobox verversen met nieuwe items, de naam laten toevoegen via het dialoogvenster werknemer toevoegen en JComboBox#setSelectedItem(..) aanroepen met de naam die we hebben gekregen van Werkgever toevoegen dialoog met behulp van getters of statische variabele

dat wil zeggen:

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. Hoe selecteer je alle kolommen, plus het resultaat van een CASE-statement in orakel 11g?

  2. MySql - grootte VARCHAR

  3. Hoe het gemiddelde van een numerieke kolom in SQL te vinden

  4. wat is het nut van arraytype?