Ich habe eine ComboBox
, die die folgende Implementierung wie im folgenden Code gezeigt hat. Das Problem, dem ich gegenüberstehe, ist, dass ich nur ChangeListener
einmal für einen ausgewählten Gegenstand auslösen kann. Ich möchte so oft auslösen, wie ich auf den gleichen Gegenstand klicke.Trigger ComboBox Auswahlereignis für den gleichen Artikel
int lastGridRowPos = 4;
ObservableList<String> options = FXCollections.observableArrayList(
"IdentityFile",
"LocalForward",
"RemoteForward",
"ForwardAgent",
"ForwardX11"
);
ComboBox propertyBox = new ComboBox(options);
propertyBox.valueProperty().addListener(new ChangeListener<String>() {
@Override
public void changed(ObservableValue ov, String t, String t1) {
System.out.println("SELECTED=" + t1);
int rowCounter = getRowCount(grid);
grid.add(new Label(t1), 0, rowCounter + 1);
TextField field = newTextFieldWithIdPrompt(t1.toUpperCase(), "");
grid.add(field, 1, rowCounter + 1);
propertyBox.getSelectionModel().clearSelection();
}
});
Ich habe versucht, um die Auswahl zu löschen, so dass ich wieder auf dem gleiche Elemente klicken kann (in der Hoffnung, dass das Kombinationsfeld eine Änderung in Artikel sieht) unter Verwendung von Arbeits propertyBox.getSelectionModel().clearSelection();
aber es ist nicht.
Danke für die Lösung (ich muss es in meinem Fall noch ausprobieren). Nun, wenn Sie es gesagt haben, frage ich mich, warum ein Menü für mich nicht funktionieren würde. Ich werde mir die Speisekarte ansehen. Alles, was ich tun möchte, ist eine Liste von Dingen für den Benutzer zur Verfügung zu stellen, aus denen er den gleichen Gegenstand immer und immer wieder auswählen kann. – summerNight