JDK 11 / OpenJFX 11 no CSS автозаполнение и предупреждение «Неизвестное свойство» - PullRequest
0 голосов
/ 30 апреля 2020

Итак, я прочитал так много сообщений об этой проблеме. Я перепробовал их все, но, похоже, ничего не помогло. Я даже переустановил Eclipse, удалил все плагины и переустановил их все. Я создал новые рабочие области, новые проекты, ... Ничего не работает.

Мое окружение
Eclipse 2020-03 (4.15.0)
Windows 10 (1903)
Java JDK 11.0.7

Что я сделал

  1. Создание нового проекта Maven (JavaSE-11)
  2. Добавлен OpenJFX в качестве зависимости в pom-файле
  3. Убедитесь, что зависимости Maven находятся в пути к классам, поскольку я не хочу использовать систему модулей
  4. Добавлена ​​библиотека JavaFX SDK в classpath
  5. Загрузил библиотеки OpenJFX и укажите путь JavaFX 11 + SDK в настройках пути, по которому я его установил, (C:\Program Files\OpenJFX\javafx-sdk-11.0.2\lib)

  6. Написать тестовый класс, используя библиотеки JavaFX (которые работают)

  7. Создайте файл 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...