JavaFX объединяет два метода setRowFactoryJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JavaFX объединяет два метода setRowFactory

Сообщение Anonymous »

У меня есть два события, которые меняют цвет строки таблицы. Для первого события строка выделяется при появлении новой записи. Для второго события цвет строки возвращается к значению по умолчанию при двойном щелчке.
Это часть выделения строки:

Код: Выделить всё

    tableView.setRowFactory(tv -> new TableRow
(){
@Override
protected void updateItem(Person item, boolean empty) {
super.updateItem(item, empty);

pseudoClassStateChanged(pseudoClass, item != null && !item.isReadOnce());
}
});
Это часть удаления выделения при двойном щелчке:

Код: Выделить всё

    tableView.setRowFactory(tv -> {
TableRow
 row = new TableRow();
row.setOnMouseClicked(event -> {
if (event.getClickCount() == 2 && (! row.isEmpty()) ) {
pseudoClassStateChanged(pseudoClass, false);
}
});
return row ;
});
Я не до конца понимаю, как работает фабрика строк. Я понимаю, что когда установлена ​​фабрика строк, каждая строка берется одна за другой и назначается указанным прослушивателям, но я не уверен, к какой части строки можно получить доступ из лямбда-выражения и как. К сожалению, документация мне не по душе.
Я пробовал объединить эти две вещи, но получаю кучу ошибок, возможно, потому, что одна из них назначает новую строку телевизору параметр, а другой создает новую строку и возвращает ее. Любая помощь очень ценится!

Подробнее здесь: https://stackoverflow.com/questions/696 ... ry-methods
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»