Как решить проблему «Ошибка инициализации графического устройства: d3d, sw» - PullRequest
0 голосов
/ 07 апреля 2019

У меня были проблемы с JavaFX 11+ несколько дней назад.Здесь вы можете увидеть ошибки, выдаваемые компилятором:

Graphics Device initialization failed for :  d3d, sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:243)
    at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:260)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at javafx.graphics/com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    at java.base/java.lang.Thread.run(Thread.java:835)
Exception in thread "main" java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:567)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1051)
Caused by: java.lang.RuntimeException: No toolkit found
    at javafx.graphics/com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:409)
    at javafx.graphics/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    ... 5 more

и blablablabla ...

Проблема очень забавно объяснить.Я просто скопировал папку "lib" и вставил ее на рабочий стол.Я удалил другие папки.Итак, ошибки окончены ..

Ответы [ 2 ]

0 голосов
/ 22 апреля 2019

Вам не нужно включать все в информацию о модуле, только части, которые вы используете.Минимум, кажется, база, элементы управления и графика.(Мой код использует их и fxml.) Например, если вы не используете swing или media, javafx.swing и javafx.media могут быть опущены.Инструментарий рендеринга, часть, которая не была найдена, находится в специфичном для Windows двоичном файле.Он находится в каталоге javafx-sdk / bin.Этот каталог должен быть частью java.library.path.Если вы используете модули, javafx-sdk / lib может быть частью пути к модулю.(Конечно, конкретная версия является частью имени каталога javafx-sdk.)

0 голосов
/ 10 апреля 2019

А теперь я покажу вам, как исправить эту ошибку.

А теперь я покажу вам, как вы можете легко решить эту проблему.Это будет длинное объяснение, но оно того стоит.

После загрузки JavaFX 11+ извлеките файл, а когда файл будет извлечен, переключитесь на IntelliJ IDEA.Теперь следуйте инструкциям, которые я напишу здесь в IntelliJ IDEA.

< 1. File 
< 2. Project Structure 
< 3. Global Libraries <br/>
< 4. Press the "+" sign and then Java 
< 5. Go to the JavaFX 11+ folder you have just downloaded. Go into the Folder and now go into "lib" and select all of these files in the Folder except "src.zip", and press "OK" in the bottom right corner and save it as "javafx12".<br/>
< 6. Now you move the mouse pointer under the "+" and press right click on the Librarie that you named as "javafx12", now a small window opens with different options but you press the mouse pointer on "Add to Modules" after you did that you move the mouse pointer to the "src" Folder and right-click with the mouse. Now open a wide window with various options but you choose the "New" option, now has opened a wide window with many different options but you choose again "module-info.java" and now you copy this text: 

module YOUR-PROJECT-NAME {

     requires javafx.graphics;
     requires javafx.controls;
     requires javafx.media;
     requires javafx.base;
     requires javafx.web;
     requires javafx.swing;
     requires javafx.fxml;

     opens application;

}

Теперь запустите программу, я надеюсь, что программа была выполнена без ошибки ...

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