Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pembaruan langsung ke JCombobox di Jawa

Jika saya mengerti Anda ingin karyawan baru yang ditambahkan menjadi apa yang dipilih di kotak kombo?

Setelah Anda mendapatkan nama karyawan baru dan menambahkannya ke kotak kombo, cukup panggil JComboBox#setSelectedItem(Object o) dengan nama karyawan baru.

yaitu:

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

PERBARUI

Sesuai komentar Anda:

Dasar-dasarnya:

1) Dapatkan nama karyawan baru atau pengenal apa pun yang cocok dengan item di kotak kombo Anda dari dialog tambahkan karyawan.

2) Daripada hanya memanggil setSelectedItem(name) after the data has been added to kotak kombo`.

Jadi, Anda mungkin melihat Tambahkan Perusahaan dialog mengembalikan nama atau memiliki metode untuk mendapatkan nama yang ditambahkan ke database. Di kelas kotak kombo Anda setelah dialog ditutup, Anda akan menyegarkan kotak kombo dengan entri baru, menambahkan nama melalui dialog tambah karyawan dan memanggil JComboBox#setSelectedItem(..) dengan nama yang kami dapatkan dari Tambahkan perusahaan dialog menggunakan getter atau variabel statis

yaitu:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan waktu IST dalam kueri mysql

  2. Memodifikasi Query MySQL yang Menghapus Duplikat

  3. Mysql - Bagaimana cara mencari 26 record yang masing-masing diawali dengan huruf abjad?

  4. dapatkah variabel sementara MySQL digunakan dalam klausa WHERE?

  5. masukkan mysql jika nilai tidak ada di tabel lain