2017-12-11 41 views
0

現在、さまざまなインシデントのレポートを作成するためのツールを作成しています。JavaFX - 他のコンボボックスから選択したアイテムを削除します

最初のステップでは、ユーザーは通話に参加していたすべての人物(26人の乗組員がいる)を選択します。次のステップでは、選択されたすべての人物が6つの異なるコンボボックスに書き込まれるので、各車両の運転手と指揮官(3台の車両 - 各車両の指揮官と運転手、したがって6コンボボックス)を選択できます。

私の問題は、次のとおりです。私は同じ人がすべての車両やドライバーと同時に司令官としてのドライバとして選択されていることを防止する必要があります。

これまで正常に動作します(すべてのコンボボックスに1つのChangeListener、ここでは一例)

inputDriverTruck42.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() { 
     @Override 
     public void changed(ObservableValue ov, Object t, Object t1) { 
      String toRemove = inputDriverTruck42.getSelectionModel().getSelectedItem(); 
      inputDriverCar19.getItems().remove(toRemove); 
      inputDriverTruck33.getItems().remove(toRemove); 
      inputCommanderCar19.getItems().remove(toRemove); 
      inputCommanderTruck42.getItems().remove(toRemove); 
      inputCommanderTruck33.getItems().remove(toRemove); 
     } 

}); 

をユーザーが自分の選択を変更したとき:だから私はのChangeListener経由して他のすべてのコンボボックスから選択した人を削除しようとしました最初のコンボボックスでは、以前に削除されたアイテムは、他のコンボボックスでは明白に消えています。また、ユーザーが最初のコンボボックス内のすべての人物を1つずつ選択すると、他のコンボボックスが1つおきに空になることもあります。

私は何とかして、現在選択されているアイテムを失うことなく、または選択したアイテムをリストに再び追加することなく、すべてのコンボボックスの選択アイテムに基づいてボックスを補充する必要があります。

ご協力いただきましてありがとうございます。前もって感謝します。

答えて

-1

使用しているJDKのバージョンはどれですか?最新のJDKをチェックインしましたか? JDK 8u151JDK 9で問題を確認することをお勧めします。

関連する問題