我正在尝试javaFx在窗口内编写多个图像的应用程序.
简短的故事是我有一个enum名为的类Candy,每个糖果都有一些属性和表示它的图像文件的路径.
在我的javafx.application类(Table)的构造函数中,我想用这些图像填充数组列表,所以到目前为止我写了这个:
public class Table extends Application {
ArrayList<Image> images;
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("CandyFx");
primaryStage.show();
}
public Table() {
images = new ArrayList<Image>();
for (Candy candy : Candy.values()) {
File file = new File (candy.getImagePath());
Image image = new Image(file.toURI().toString());
images.add(image);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在每次我想创建一个Table类的实例时,应用程序抛出一个java.lang.RuntimeException: Internal graphics not initialized yet.
我怎么能初始图形看起来我没有?
首先,如果您使用的是Linux,则需要运行JavaFX .try来安装GTK 2.18
libswt-gtk-3-java
Run Code Online (Sandbox Code Playgroud)
只要屏幕为空,就会抛出此异常start.尝试在方法内创建图像.就在之前primaryStage.show();.
看看这个链接也是如此