Javafx - css не работает на столе, где элемент выбирается кодом - не щелчком мыши - PullRequest
0 голосов
/ 04 мая 2020

У меня следующая проблема: у меня две таблицы. При нажатии на запись в первой таблице соответствующий элемент во второй таблице будет выделен.
Это работает нормально, но цвет текста во второй таблице не изменяется. Таблицы имеют темно-серый фон (# 424141 и # 131313, переключение в каждой строке) и белый текст. При щелчке строка в таблице становится светло-голубой (#CBDAFF) с черным текстом. и соответствующая строка во второй таблице также меняет свой цвет на светло-синий - но цвет текста остается белым (вместо того, чтобы становиться черным). Было бы здорово, если бы кто-то мог мне помочь, потому что белый текст на голубом действительно трудно читать. Я где-то читал, что текст в Javafx автоматически устанавливается на светлый цвет, если фон темный - но я предполагаю, что допустил ошибку.
Я совершенно новичок в java, и я очень благодарен вам за вашу помощь заранее

Вот некоторые подробности:

Элемент во второй таблице выбирается путем сравнения строк элементов списка (btrResultList) и выбранного элемента (currBtrKost) в первая таблица:

if(btrResultList.get(i).getKostenArt().equals(currBtrKost.getKostenOberGruppe())) {
        tableBtrKum.getSelectionModel().select(i);
        }

и css -файл .table-view выглядит так:

.table-view {
    -fx-background-color:  #071129;
}
.table-view .column-header-background{
    -fx-background-color: linear-gradient(#131313 0%, #424141 100%);
}

.table-view .column-header-background .label{
    -fx-background-color: transparent;
    -fx-text-fill: white;
}

.table-view .column-header {
    -fx-text-fill: bisque ;
    -fx-background-color: transparent;
}

.table-view .table-cell{
    -fx-text-fill: White;
    -fx-font-size: 14px;
}

.table-row-cell{
    -fx-background-color: -fx-table-cell-border-color,  #000111;
    -fx-background-insets: 0, 0 0 1 0;
    -fx-padding: 0.0em; /* 0 */
}

.table-row-cell:odd{
    -fx-background-color: -fx-table-cell-border-color,  #071129;
    -fx-background-insets: 0, 0 0 1 0;
    -fx-padding: 0.0em; /* 0 */  
}

.table-row-cell:selected {
    -fx-background-color:  #CBDAFF;
    -fx-text-fill: Black;
    -fx-background-insets: 0;
    -fx-background-radius: 1;
    -fx-border-color: #b3c7dc;
}

.table-row-cell:focussed {
    -fx-background-color:  #CBDAFF;
    -fx-text-fill: Black;
}

.table-view:focused .table-row-cell:selected .table-cell {
    -fx-background-color:  #CBDAFF;
    -fx-text-fill: Black;
    -fx-background-insets: 0;
    -fx-background-radius: 1;
    -fx-border-color: #b3c7dc;
}

.table-view:selected .table-row-cell:selected .table-cell {
    -fx-background-color:  #CBDAFF;
    -fx-text-fill: Black;
    -fx-background-insets: 0;
    -fx-background-radius: 1;
    -fx-border-color: #b3c7dc;
}
.table-view > .virtual-flow > .scroll-bar:vertical,
.table-view > .virtual-flow > .scroll-bar:vertical > .track,
.table-view > .virtual-flow > .scroll-bar:vertical > .track-background, 
.table-view > .virtual-flow > .scroll-bar:horizontal,
.table-view > .virtual-flow > .scroll-bar:horizontal > .track,
.table-view > .virtual-flow > .scroll-bar:horizontal > .track-background {
    -fx-background-color: transparent;
}

.table-view > .virtual-flow > .scroll-bar > .increment-button, 
.table-view > .virtual-flow > .scroll-bar > .decrement-button {
    -fx-opacity: 0;
}
...