Итак, я прочитал так много сообщений об этой проблеме. Я перепробовал их все, но, похоже, ничего не помогло. Я даже переустановил Eclipse, удалил все плагины и переустановил их все. Я создал новые рабочие области, новые проекты, ... Ничего не работает.
Мое окружение
Eclipse 2020-03 (4.15.0)
Windows 10 (1903)
Java JDK 11.0.7
Что я сделал
- Создание нового проекта Maven (JavaSE-11)
- Добавлен OpenJFX в качестве зависимости в pom-файле
- Убедитесь, что зависимости Maven находятся в пути к классам, поскольку я не хочу использовать систему модулей
- Добавлена библиотека JavaFX SDK в classpath
Загрузил библиотеки OpenJFX и укажите путь JavaFX 11 + SDK в настройках пути, по которому я его установил, (C:\Program Files\OpenJFX\javafx-sdk-11.0.2\lib)
Написать тестовый класс, используя библиотеки JavaFX (которые работают)
- Создайте файл css для стилизации моего приложения, который добавляет
xtext
nature
Так что я могу использовать библиотеки JavaFX и Я могу запустить свое приложение без каких-либо ошибок. Но я не могу использовать функцию автозаполнения css, поскольку все свойства неизвестны, и это вызывает предупреждения.
Мой файл POM
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.company</groupId>
<artifactId>FXProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>11</release>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>11.0.1</version>
</dependency>
</dependencies>
</project>
Мой CSS файл (приложение. css)
.root {
-fx-background-color: red;
}
Класс запуска (основной класс)
import javafx.application.Application;
public class Launcher {
public static void main(String[] args) {
Application.launch(TestApp.class);
}
}
Класс TestApp
import javafx.application.Application;
import javafx.stage.Stage;
public class TestApp extends Application {
@Override
public void start(Stage primaryStage) {
try {
BorderPane root = new BorderPane();
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
} catch(Exception e) {
e.printStackTrace();
}
}
}
Некоторые темы, которые я пробовал:
JavaFX CSS Лист не работает - неизвестное свойство
Как добавить CSS автозаполнение до затмения
JavaFX CSS Файлы не завершаются автоматически в Eclipse
IDE: клип e (fx) не работает должным образом
Предупреждение «Неизвестное свойство» для каждого. css файла и строки в javafx