Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cập nhật ngay lập tức cho JCombobox trong Java

Nếu tôi hiểu, bạn muốn nhân viên mới được thêm vào sẽ là nhân viên được chọn trong hộp kết hợp?

Khi bạn đã có tên nhân viên mới và thêm nó vào combobox, chỉ cần gọi JComboBox#setSelectedItem(Object o) với tên của nhân viên mới.

tức là:

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

CẬP NHẬT

Theo nhận xét của bạn:

Những điều cơ bản:

1) Nhận tên nhân viên mới hoặc bất kỳ số nhận dạng nào phù hợp với các mục trong hộp kết hợp của bạn từ hộp thoại thêm nhân viên của bạn.

2) Đơn giản hơn là gọi setSelectedItem(name) after the data has been added to hộp kết hợp`.

Vì vậy, bạn có thể thấy Thêm nhà tuyển dụng của mình hộp thoại trả về tên hoặc có một phương thức để lấy tên đã được thêm vào cơ sở dữ liệu. Trong lớp combobox của bạn sau khi hộp thoại đóng, bạn sẽ làm mới hộp kết hợp với các mục nhập mới, lấy tên được thêm qua hộp thoại thêm nhân viên và gọi JComboBox#setSelectedItem(..) với tên mà chúng tôi nhận được từ Thêm nhà tuyển dụng hộp thoại sử dụng getters hoặc biến tĩnh

tức là:

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. Trong điều kiện nào chúng ta cần sử dụng các khóa tổng hợp trong cơ sở dữ liệu

  2. Số lượng kết nối tối ưu trong nhóm kết nối

  3. Tham chiếu rỗng từ mô-đun trình điều khiển MySQL từ taskpane.js một Phần bổ trợ Microsoft Office

  4. Nối chuỗi NHibernate / MySQL

  5. Làm cách nào để chèn nhiều giá trị hộp kiểm vào một bảng?