В https://bugs.openjdk.org/browse/jdk-8345348 в описании это фрагмент CSS:
.button {
-fx-background-color: lightgray;
}
@media (prefers-color-scheme: dark) {
.button {
-fx-background-color: darkgray;
}
}
< /code>
Но когда я использую этот код в своем примере: < /p>
.label {
-fx-text-fill: black;
}
.border-pane {
-fx-background-color: white;
}
@media (prefers-color-scheme: dark) {
.border-pane {
-fx-background-color: black;
}
.label {
-fx-text-fill: white;
}
}
< /code>
Javafx Node Label (Style Class .label) не является правильным стилизованием. Только javafx node borderpane (стиль класса .border-pane)-правильный стиль. />
Вот мой минимальный, воспроизводимый пример: < /p>
Содержание файла demo.java < /em>: < /p>
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Demo extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
String labelContent = "Hello, JavaFX " + javafxVersion
+ ", running on Java " + javaVersion + ".";
Label mainLabel = new Label(labelContent);
BorderPane root = new BorderPane();
root.getStyleClass().add("border-pane");
root.setCenter(mainLabel);
Scene scene = new Scene(root, 640, 480);
scene.getStylesheets().add("test.css");
primaryStage.setScene(scene);
primaryStage.setTitle("JavaFX Demo");
primaryStage.show();
}
}
Содержание файла test.css :
.label {
-fx-text-fill: black;
}
.border-pane {
-fx-background-color: white;
}
@media (prefers-color-scheme: dark) {
.border-pane {
-fx-background-color: black;
}
.label {
-fx-text-fill: white;
}
}
Содержание файла rundemo.bat :
@ECHO OFF
REM Launching as Single-File Source-Code Program
D:\JDKs\Azul_Zulu_JDKFX25\zulu25.28.85-ca-fx-jdk25.0.0-win_x64\bin\java --enable-native-access=javafx.graphics Demo.java
< /code>
Среда:
OS: Windows 11 Pro (64 -бит), версия 24H2, ОС сборка 26100.6584 < /p>
java (использовал Azul Zulu Build of OpenJDK 25 с Javafx 25 - Distrib. ZULU25.28.85-CA-FX-JDK25.0.0-win_x64.zip): < /p>
java --version
openjdk 25 2025-09-16 LTS
OpenJDK Runtime Environment Zulu25.28+85-CA (build 25+36-LTS)
OpenJDK 64-Bit Server VM Zulu25.28+85-CA (build 25+36-LTS, mixed mode, sharing)
Примечания для запуска demo.java в Windows:
Запуск demo.java by rundemo.bat (установка требуется java с javafx) - нуждается в Modify Path to java (установка требуется java with javafx). /> Запустить приложение для настройки Windows < /li>
Найти цветовой режим на домашней странице (ниже на странице) < /li>
Переключение от света на Dark (Repeat) < /li>
< /ol>
Примечание: после запуска demo.java < /em> в консоле (CMD в окнах) это: p> < /br />
in console (cmd on windows).D:\JDKs\JDK_samples>runDemo.bat
Sep 19, 2025 9:26:46 AM javafx.css.CssParser consumeRBrace
WARNING: CSS Error parsing file:/D:/JDKs/JDK_samples/test.css: Expected RBRACE at [13,1]
Подробнее здесь: https://stackoverflow.com/questions/797 ... -javafx-25
Возможно ли написать несколько узлов в новом запросе @Media в CSS в Javafx 25? ⇐ CSS
Разбираемся в CSS
1758266862
Anonymous
В https://bugs.openjdk.org/browse/jdk-8345348 в описании это фрагмент CSS:
.button {
-fx-background-color: lightgray;
}
@media (prefers-color-scheme: dark) {
.button {
-fx-background-color: darkgray;
}
}
< /code>
Но когда я использую этот код в своем примере: < /p>
.label {
-fx-text-fill: black;
}
.border-pane {
-fx-background-color: white;
}
@media (prefers-color-scheme: dark) {
.border-pane {
-fx-background-color: black;
}
.label {
-fx-text-fill: white;
}
}
< /code>
Javafx Node Label (Style Class .label) не является правильным стилизованием. Только javafx node borderpane (стиль класса .border-pane)-правильный стиль. />
Вот мой минимальный, воспроизводимый пример: < /p>
Содержание файла demo.java < /em>: < /p>
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class Demo extends Application {
public static void main(String[] args) {
launch();
}
@Override
public void start(Stage primaryStage) throws Exception {
String javaVersion = System.getProperty("java.version");
String javafxVersion = System.getProperty("javafx.version");
String labelContent = "Hello, JavaFX " + javafxVersion
+ ", running on Java " + javaVersion + ".";
Label mainLabel = new Label(labelContent);
BorderPane root = new BorderPane();
root.getStyleClass().add("border-pane");
root.setCenter(mainLabel);
Scene scene = new Scene(root, 640, 480);
scene.getStylesheets().add("test.css");
primaryStage.setScene(scene);
primaryStage.setTitle("JavaFX Demo");
primaryStage.show();
}
}
Содержание файла test.css :
.label {
-fx-text-fill: black;
}
.border-pane {
-fx-background-color: white;
}
@media (prefers-color-scheme: dark) {
.border-pane {
-fx-background-color: black;
}
.label {
-fx-text-fill: white;
}
}
Содержание файла rundemo.bat :
@ECHO OFF
REM Launching as Single-File Source-Code Program
D:\JDKs\Azul_Zulu_JDKFX25\zulu25.28.85-ca-fx-jdk25.0.0-win_x64\bin\java --enable-native-access=javafx.graphics Demo.java
< /code>
Среда:
OS: Windows 11 Pro (64 -бит), версия 24H2, ОС сборка 26100.6584 < /p>
java (использовал Azul Zulu Build of OpenJDK 25 с Javafx 25 - Distrib. ZULU25.28.85-CA-FX-JDK25.0.0-win_x64.zip): < /p>
java --version
openjdk 25 2025-09-16 LTS
OpenJDK Runtime Environment Zulu25.28+85-CA (build 25+36-LTS)
OpenJDK 64-Bit Server VM Zulu25.28+85-CA (build 25+36-LTS, mixed mode, sharing)
Примечания для запуска demo.java в Windows:
Запуск demo.java by rundemo.bat (установка требуется java с javafx) - нуждается в Modify Path to java (установка требуется java with javafx). /> Запустить приложение для настройки Windows < /li>
Найти цветовой режим на домашней странице (ниже на странице) < /li>
Переключение от света на Dark (Repeat) < /li>
< /ol>
Примечание: после запуска demo.java < /em> в консоле (CMD в окнах) это: p> < /br />
in console (cmd on windows).D:\JDKs\JDK_samples>runDemo.bat
Sep 19, 2025 9:26:46 AM javafx.css.CssParser consumeRBrace
WARNING: CSS Error parsing file:/D:/JDKs/JDK_samples/test.css: Expected RBRACE at [13,1]
Подробнее здесь: [url]https://stackoverflow.com/questions/79768663/is-possible-write-multiple-nodes-in-new-media-query-in-css-in-javafx-25[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия