0

私のJavaSwingアプリケーションでは、Jcomboboxにデータベースからのデータを入力し、コンボボックス値を使用して検索するためにユーザーが希望するキーワードを入力できるようにします。そのため、編集可能モードをtrueに設定しましたが、データベースからのデータが失われました。編集モードを有効にして、同時にJcomoboboxにデータベースからのデータを入力することは可能ですか?

      private void cmbPvtTrnsCompanySeacrhFocusGained(java.awt.event.FocusEvent evt) {                                                    
          try {  
              ArrayList<String> transList = PvtTransDriverController.getPvtTransporterNames();
              ComboBoxModel comboBoxModel = new DefaultComboBoxModel(transList.toArray());
              cmbPvtTrnsCompanySeacrh.setModel(comboBoxModel);

        } catch (ClassNotFoundException ex) {
              Logger.getLogger(PvtTransDriver.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
              Logger.getLogger(PvtTransDriver.class.getName()).log(Level.SEVERE, null, ex);
        }
  }

の初期化コードcmbPvtTrnsCompanySeacrh

cmbPvtTrnsCompanySeacrh.setEditable(true);
        cmbPvtTrnsCompanySeacrh.addFocusListener(new java.awt.event.FocusAdapter() {
              public void focusGained(java.awt.event.FocusEvent evt) {
                    cmbPvtTrnsCompanySeacrhFocusGained(evt);
              }
        });

        javax.swing.GroupLayout jPanel23Layout = new javax.swing.GroupLayout(jPanel23);
        jPanel23.setLayout(jPanel23Layout);
        jPanel23Layout.setHorizontalGroup(
              jPanel23Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
              .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel23Layout.createSequentialGroup()
                    .addContainerGap()
                    .addComponent(cmbPvtTrnsCompanySeacrh, 0, 266, Short.MAX_VALUE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(btnSearch, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addContainerGap())
        );
4

1 に答える 1

2

以下のようなコードを書くことができます:

ArrayList<String> transList = PvtTransDriverController.getPvtTransporterNames();
ComboBoxModel comboBoxModel = new DefaultComboBoxModel(transList.toArray());
cmbPvtTrnsCompanySeacrh.setModel(comboBoxModel );
于 2013-03-25T05:37:00.223 に答える