QA@IT

JavaFX Screenオブジェクト取得でエラー

3006 PV

JavaFXでディスプレイ解像度を取得してGUIの解像度を調整するためのクラスを作成しようとしています。
javafx.stage.Screen.getPrimary()を使用してScreenオブジェクトを取得する際にエラーが発生しました。
回避方法がわかる方いらっしゃいましたらご教授お願いします。


ソース(抜粋):

import javafx.stage.Screen;

public class Display {
private Screen Screen;
public Display() {
Screen =javafx.stage.Screen.getPrimary(); ←27行目

エラー:

Exception in thread "main" java.lang.NullPointerException
at com.sun.glass.ui.Screen.getMainScreen(Screen.java:15)
at com.sun.javafx.tk.quantum.QuantumToolkit.getPrimaryScreen(QuantumToolkit.java:594)
at javafx.stage.Screen.updateConfiguration(Screen.java:102)
at javafx.stage.Screen.checkDirty(Screen.java:97)
at javafx.stage.Screen.getPrimary(Screen.java:176)
at library.Display.(Display.java:27)
at library.Display.main(Display.java:100)

ディスプレイ環境:グラボ経由で2枚使用
OS:Windows7 64bit
Javaバージョン:1.7.0_25-b17
JavaFXバージョン:2.2.25

以上、よろしくお願いします。

回答

JavaFXアプリケーションを起動してからでないと取得できないものと思われます。
javafx.application.Application.launch() メソッドでJavaFXアプリケーションを起動後に取得してください。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。