我正在尝试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();
.
看看这个链接也是如此