У меня есть ComboBox
, который имеет следующую реализацию, как показано ниже в коде. Проблема, с которой я сталкиваюсь, заключается в том, что я могу только вызвать ChangeListener
один раз для выбранного элемента. Я хотел бы запускать столько раз, сколько я нажимаю на один и тот же элемент.Событие выбора Trigger ComboBox для одного и того же элемента
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();
}
});
Я пытался очистить выбор, так что я могу нажать на тот же товар снова (в надежде, что выпадающий видит изменение позиции) с помощью propertyBox.getSelectionModel().clearSelection();
но не работает.
Спасибо за решение (мне все равно придется попробовать его в моем случае). Теперь, когда вы это сказали, мне интересно, почему вместо этого меню не будет работать для меня. Я посмотрю меню. Все, что я хочу сделать, это предоставить список вещей, которые пользователь может выбрать, где ему разрешено выбирать один и тот же элемент снова и снова. – summerNight