Mysql
 sql >> база данни >  >> RDS >> Mysql

Незабавна актуализация на JCombobox в Java

Ако разбрах, че искате новият добавен служител да бъде това, което е избрано в падащия списък?

След като получите името на новите служители и го добавите към падащия списък, просто извикайте JComboBox#setSelectedItem(Object o) с името на новия служител.

т.е.:

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

АКТУАЛИЗАЦИЯ

Според вашите коментари:

Основите:

1) Вземете ново име на служител или какъвто и да е идентификатор, който съответства на този на елементите в падащия списък от диалоговия прозорец за добавяне на служител.

2) След това просто извикайте setSelectedItem(name) after the data has been added to падащо поле`.

Така че може да видите вашето Добавяне на работодател диалоговият прозорец връща име или има метод за получаване на името, което е добавено към базата данни. Във вашия клас combobox, след като диалоговият прозорец бъде затворен, вие ще обновите полето combobox с нови записи, ще получите името, добавено чрез диалоговия прозорец за добавяне на служител и ще извикате JComboBox#setSelectedItem(..) с името, което получихме от Добавяне на работодател диалогов прозорец, използващ гетери или статична променлива

т.е.:

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. Защо mysqli дава грешка при несинхронизиране на команди?

  2. Как мога да получа дължина/стойности на колоната на mySql

  3. Изравняване на дърво в MySQL?

  4. mysql cte . използването на with и вмъкване предупреждава за синтактична грешка

  5. Вмъкнете уникални низове от 8 произволни знака