TableView как сделать строки одинакового цвета

229
27 ноября 2017, 16:40

хочу чтобы все строки были одинакового цвета, а не чередованием, как это сделать ?

Answer 1

Как вариант могу предложить следующие:

import javafx.scene.control.TableCell;
import javafx.scene.control.TableRow;
public class FilledTableCell<S, T> extends TableCell<S, T> {
    @Override
    protected void updateItem(T item, boolean empty) {
        super.updateItem(item, empty);
        setText(empty || item == null ? null : item.toString());
        TableRow tableRow = getTableRow();
        if ( tableRow != null ) {
            tableRow.setStyle("-fx-control-inner-background: green;");
        }
    }
}

Пример использования (на любой из столбцов таблицы):

import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class Main extends Application {
    @Override
    public void start(Stage primaryStage) throws Exception {
        TableColumn<String [], String> tableColumn = new TableColumn();
        tableColumn.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[0]));
        tableColumn.setCellFactory(param -> new FilledTableCell<>());
        TableColumn<String [], String> tableColumn1 = new TableColumn();
        tableColumn1.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[1]));
        TableColumn<String [], String> tableColumn2 = new TableColumn();
        tableColumn2.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[2]));
        TableView<String []> tableView = new TableView();
        tableView.setColumnResizePolicy(TableView.CONSTRAINED_RESIZE_POLICY);
        tableView.getColumns().addAll(tableColumn, tableColumn1, tableColumn2);
        tableView.getItems().addAll(
                new String [] {"1", "2", "3"}
                , new String []{"4", "5", "6"}
                , new String []{"7", "8", "9"}
        );
        primaryStage.setScene(new Scene(tableView));
        primaryStage.show();
    }
}
READ ALSO
TableView на javaFX с использованием css

TableView на javaFX с использованием css

Вот так выглядит моя таблицаЯ не понимаю почему 2 колонки с черным шрифтом, хотя я ставлю оранжевый

259
HTML - передача параметра

HTML - передача параметра

Являюсь начинающим в html и css, сразу извиняюсь за некорректный вопрос, не знаю как его правильно задатьВопрос такой - возможно ли в этом случае...

235
помогите разобраться c checkbox

помогите разобраться c checkbox

есть два таких http://prntscrcom/hff9ve lable (input скрыты и по нажатию label ссылаются на них) нужно менять цвет bordera у label и галочку соответственно

220
Пвсевдокласс hover в JQuery

Пвсевдокласс hover в JQuery

Здравствуйте, возникла проблема с тем, что при клике на элемент, у меня у другого элемента должно быть постоянное выделение, те

182