【发布时间】:2015-09-08 07:18:41
【问题描述】:
我正在编写一个显示Alert 的程序,我正在尝试调用initOwner 以便它使用应用程序图标,但我得到的是NullPointerException。
这是一个最小的例子:
import javafx.application.Application;
import javafx.scene.control.Alert;
import javafx.stage.Stage;
public class AlertTest extends Application {
@Override
public void start(final Stage primaryStage) throws Exception {
final Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.initOwner(primaryStage); // line 9
alert.showAndWait();
}
public static void main(final String... args) {
launch(args);
}
}
以及相关的堆栈跟踪:
Caused by: java.lang.NullPointerException
at javafx.scene.control.HeavyweightDialog.updateStageBindings(HeavyweightDialog.java:319)
at javafx.scene.control.HeavyweightDialog.initOwner(HeavyweightDialog.java:120)
at javafx.scene.control.Dialog.initOwner(Dialog.java:451)
at AlertTest.start(AlertTest.java:9)
我做错了什么?
我在 Linux 中使用 Oracle 的 JDK 1.8.0_51。
【问题讨论】: