새 총을 추가하는 데 도움이되는 양식에 대한 도움이 필요합니다. 나는 그들 중 하나 (칼리버, 메이커, 타입)를 원한다면 내가 그 값을 하나 선택하면, 그들 중 하나는 텍스트 에디터 (ControlFX-textfields)를 가지고있다. 해당 모델에 해당하는 값은 다음과 같습니다. 모델에서 PT100을 선택하고 구경이 ".40", 유형이 "PISTOL", 제조업체가 "TAURUS"를 얻습니다. 내 모델은 모두 db로 설정했습니다. 문제는 모델에 구경, 유형 또는 제조 업체 중 하나의 값이 더 많은 경우입니다 (예 : 모델 "CBC", "퓨마", "라이플"). 가능한 2 구경 인 ".38"및 "357". 지금은 구경의 콤보 상자에 대한 다음을 시도했습니다 :사용자가 다른 콤보 상자에서 값을 선택할 때 콤보 상자 값을 설정하는 방법
modelo.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
@Override
public void changed(ObservableValue observable, Object oldValue, Object newValue) {
List<Modelo> list = listModelo.stream().filter(m -> m.getModeloNome().equals(newValue))
.collect(Collectors.toList());
for(Modelo a: list){
if(list.size() == 1){
calibreBox.setValue(a.getCalibre());
tipoBox.setValue(a.getTipoArma());
marcaBox.setValue(a.getMarcaArma());
}if(list.size()> 1){
System.out.println(a.getCalibre());
calibrelist.clear();
List<String> cal = new ArrayList<>();
cal.add(a.getCalibre());
calibrelist = FXCollections.observableList(cal);
}
}
}
});
하나의 모델 만있는 경우에는 전혀 문제가 없습니다. 또한 달성하고자합니다 : 내 데이터베이스에 존재하지 않는 모델을 입력하면 다른 콤보는 db의 기존 값을 유지해야합니다.
이 모든 작업을 수행하는 가장 좋은 방법은 무엇입니까 ???
예를 들어 모델에 가능한 두 개의 구경이있는 경우 목록에 동일한 모델이 두 개 있습니다. 옳은? 총에 두 가지 구경이있을 때 정확히 무엇을하고 싶습니까? 먼저 구경 값을 설정 하시겠습니까, 아니면 콤보 상자의 옵션 목록에 추가 하시겠습니까? –
기존 ObservableList를 지운 다음 설정하지 않고 두 구경을 추가하고 싶습니다. 그런 다음 사용자가 하나를 선택합니다. –