Заодно воскресил в своей памяти JavaFX.
Рубрика: java
javafx RowFactory или как я красил строки таблицы.
Примеров решений задачи в инете, вагон и маленькая тележка.
Обычно рекомендуют что то типа такого:
tableView.setRowFactory((row) -> {
            return new TableRow
                @Override
                public void updateItem(MainTable item, boolean empty){
                    super.updateItem(item, empty);
                    if (item == null || empty) {
                        setStyle(«»);
                    } else {
                        Iterator
                        while (it.hasNext()) {
                            Long zakazIndex = it.next().getProductIndex();
                            Long pIndex = item.getIndex();
                            if ( Objects.equals(zakazIndex, pIndex) )   {
                                setStyle(«-fx-background-color:lightgreen»);
                            } 
                        }
                    }
                }
            };
        });
И оно даже работает. Но, пока в таблице не включается скроллинг. Как только в таблице начинаешь листать страницы, с удивлением обнаруживаешь, что красятся произвольные строки, в произвольном порядке.
Решение, простое.
До вызова
super.updateItem(item, empty);
Сбросьте стили.
tableView.setRowFactory((TableView
            return new TableRow
                @Override
                public void updateItem(MainTable item, boolean empty){
                    // Сначала обязательно сбрасываем стиль.
                    setStyle(«»);
                    // и только после этого вызываем метод super.updateItem
                    super.updateItem(item, empty);
                    if (item == null || empty) {
                        setStyle(«»);
                    } else {
                        Iterator
                        while (it.hasNext()) {
                            Long zakazIndex = it.next().getProductIndex();
                            Long pIndex = item.getIndex();
                            if ( Objects.equals(zakazIndex, pIndex) )   {
                                setStyle(«-fx-background-color:lightgreen»);
                            } 
                        }
                    }
                }
            };
        });
JavaFX и java.lang.nullpointerexception location is required
java.lang.nullpointerexception location is required
Не грузит сволочь fxml файл.
Облазил все форумы, пробовал и через class.getClassLoader().getResource() и просто class.getResource(). Читаю документацию, указываю пути как надо, с учетом выбранного метода. Не работает хоть тресни.
А всего то, надо было подписать приложение… твою едрить через это самое…
alfresco и OO
Вот нарвались, так нарвались на неприятности 🙁
Оказывается alfresco прежде чем индексировать любой документ, пропускает его через Open Office. Мы его у себя отключили 🙁 поскольку жрал много процессорного времени. А потом удивлялись, почему это документы в области есть, а в поиске их не видно 🙂 ?
Включили ОО обратно, альфреска проиндексировала все документы, которые были введены до этого.
Придется что то делать с оптимизацией ОО, что бы меньше ресурсов кушал.
