JavaFX как убрать выделение в ListView

345
04 декабря 2018, 14:50

Мне нужно убирать выделение, если пользователь нажал на строку ListView, которая пуста. Из-за того что выделение не сбрасывается - нельзя понять на что именно нажали.

Answer 1

Лично я делал так:

listView.setOnMouseClicked(event -> {
        System.out.println(event.getTarget().toString());
    });

Потом парсил строку, находил null и так понимал, что надо убрать выделение. Да, это плохой код, но лучшего решения не нашел)

Answer 2

У ListView есть метод getSelectionModel(), у которого есть много разных методов, например, getSelectedIndex(), который возвращает индекс выделенной строки(конечно же, начиная с 0). Кроме того, есть метод clearSelection(). Если использовать его без параметров, то снимается выделение всех строк, если указать параметр index, то снимается выделение конкретной строки.

Любая современная ide после точки показывает, какие методы есть у объекта или класса, и обычно по названию метода и принимаемых параметров понятно, для чего он нужен.

Навскидку:

ListView view = new ListView();
view.setOnMouseClicked(event -> {
    int index = view.getSelectionModel().getSelectedIndex();
    view.getSelectionModel().clearSelection(index);
});
READ ALSO
планировщик задач

планировщик задач

собственно задача: нужно один раз в указанное время (исходя из текущей времени рассчитывается) выполнять метод

239
Как сделать след от нажатия на кнопку?

Как сделать след от нажатия на кнопку?

Не пойму как сделать вот такой след у кнопки, который заполняется при нажатии на негоМожет кто знает как?

260
Не создается наследник Application в jax-rs на wildfly 13

Не создается наследник Application в jax-rs на wildfly 13

Пытаюсь запустить REST сервис на jax-rs

210
Проблемы с адаптером из библтотеки DragListView для Android

Проблемы с адаптером из библтотеки DragListView для Android

Я новичок в Android, пытаюсь использовать библиотек DragListView и не пойму как поставить адаптер? лазил внутри библиотеки, так ничего и не нашел

221