Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: GUI и Java FX приложения > javafx выделение колонки и строки


Автор: Anime 21.11.2016, 17:15
Хочу сделать выделение строки и колонки вместе (т.е. выделяется строки цветом и колонка другим цветом)

Поставил выделение колонок
Код

tableView.getSelectionModel().setCellSelectionEnabled(true);


Создал класс колонки
Код

package ua.gov.uz.hetman;

import javafx.scene.control.TableCell;
import javafx.scene.control.TableRow;
import javafx.scene.control.Tooltip;
import ua.gov.uz.hetman.system.Forwarder;

public class DefaultTableCell extends TableCell<Forwarder, String> {

    public DefaultTableCell() {
        selectedProperty().addListener(((observable, oldValue, newValue) -> {
            TableRow tableRow = getTableRow();

            if(newValue) {
                tableRow.setStyle("-fx-background-color: red;");
            } else {
                tableRow.setStyle("");
            }

        }));
    }

    @Override
    protected void updateItem(String item, boolean empty) {
        super.updateItem(item, empty);

        setText(item);
        setTooltip(new Tooltip(item));
    }

}



Он работает в одну сторону -), т. е. если я выделаю колонку потом следующую то работает замечательно, но если выделить колонку а потом выделить предыдущую то он перестает закрашивать. Как правильно реализовать это, кто знает?

Автор: mailworkd 22.11.2016, 10:06
eparhia.ru/useful/?id=151324

Как выбрать баню
Баня является важной частью русских традиций.Сегодня в России есть огромное количетсво бань как общественного плана, так и частного. Походы в баню носят для мужчин особый характер. Там они встречаются со своими друзьями, обсуждают насущные проблемы и просто расслабляются. Такая неформальная атмосфера только способствуют полной релаксации.
Учитывайте, что многие учреждения на посещение бассейнов устанавливают цены поменьше.
Частные бани сегодня по многим параметрам выигрывают у общественных. К семейному отдыху лучше подходят частные банные комплексы. У всех срубов есть свой забор с целью защиты. Рядом с банями вполне можно жарить шашлыки или заниматься другими своими важными делами.



Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/javafx-vydeleniye-kolonki-i-stroki-id58330219b4c92c2e474c88c2#findElement_E7045_5833ee5b0ef42f12b2780791_0

Автор: Anime 30.11.2016, 16:34
Сделал так

Код

private TableRow<Forwarder> currentRow;

@FXML
private void initialize() throws Exception {
        tableView.getSelectionModel().setCellSelectionEnabled(true);
        tableView.setRowFactory(tableView -> {
            final TableRow<Forwarder> row = new TableRow<>();

            row.setOnMousePressed(event -> {
                if(currentRow != null)
                    currentRow.getStyleClass().remove("row-highlight");

                row.getStyleClass().add("row-highlight");

                currentRow = row;
            });

            return row;
        });
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)