sql >> データベース >  >> RDS >> Mysql

JavaでのJComboboxへの即時更新

    追加された新しい従業員をコンボボックスで選択されたものにしたいことを理解した場合

    新しい従業員の名前を取得してコンボボックスに追加したら、 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 コンボボックス`。

    そのため、雇用主の追加が表示される場合があります ダイアログは名前を返すか、データベースに追加された名前を取得するメソッドを持っています。ダイアログを閉じた後のコンボボックスクラスでは、新しいエントリでコンボボックスを更新し、[従業員の追加]ダイアログで名前を追加して、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. Codeigniterタイムゾーンmysql設定

    2. 相互に依存しているmysqlデータベースから2つのスピナーを設定します

    3. クエリが多すぎますか?

    4. PHPのマルチレベルforループ