0

私は2つのJComboBoxを持っています。最初のJComboBoxで項目が選択された後、2番目はデータベースから取り込まれます。問題は、文字を入力するたびに 2 番目の jcombobox が読み込まれることです。最初のjcomboboxの項目が完全に入力されるまで、2番目のjcomboboxを待機させたいです。

    private void jobCdItemStateChanged(java.awt.event.ItemEvent evt) {                                       
    if (evt.getStateChange() == ItemEvent.SELECTED
            && jobCd.getSelectedItem() != "Select..."
            && jobCd.getSelectedItem().toString().length() > 0) {
        populatePartNoListFilter();
    }
}                                      
4

1 に答える 1

1

少しのコードで何をしているのかを正確に知ることができますが、私の推測では、最初のコンボは編集可能で、キーストロークごとに呼び出されるイベントリスナーを使用して 2 番目のコンボを作成していると思います。

ドキュメントによるとActionListener、コンボが編集可能なときにを使用すると、次のように機能するはずです。

は、選択が行われるActionListenerと を受け取ります。ActionEventコンボ ボックスが編集可能な場合、編集が停止すると ActionEvent が発生します。

を使用してActionListenerいても動作がニーズに合わない場合はFocusListener、最初のコンボに a を追加して 2 番目のコンボを設定し、2 番目のコンボを設定するコードをそのfocusLost()メソッドに移動します。

このオプションもニーズに合わない場合は、利用可能なさまざまなイベントのドキュメントを読むか、必要なイベント処理の提案を誰かが思いつくように、探している動作の詳細な説明を提供することをお勧めします行う。

于 2013-07-16T19:45:39.777 に答える