ローカルに保存されたHTMLページをロードしようとしているJavaFXアプリケーションのタブにwebViewコンポーネントがあります。
_WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.load("/webView/main.html");
_
私のhtmlドキュメントは(おそらく間違って)次の場所に保存されています:
ここで、com.cds.guiには、ファイルをロードしようとしているクラスが含まれています。 webEngine.getDocument()
を出力すると、null
が表示されます。つまり、ドキュメントが読み込まれていません。
どこが悪いのか教えてください!ありがとう。
WebEngineがローカルファイルを見つけられるように、ローカルファイルをURLとして読み込む必要があります。たとえば、を使用してファイルをリソースとして見つけることができます
URL url = this.getClass().getResource("/com/cds/gui/webView/main.html");
webEngine.load(url.toString());
または、実際の文字列パスをFileオブジェクトにロードし、それを使用して文字列URLを取得することもできます。
File f = new File("full\\path\\to\\webView\\main.html");
webEngine.load(f.toURI().toString());
お役に立てれば!
URIのファイル構文を使用できます。
file:///C:/path/to/file.html (Windows)
ファイルへのパスに長い間苦しんでおり、これは私にとってはうまくいきます(Mavenプロジェクト、フォルダーリソース):
WebEngine engine = html.getEngine();
File f = new File(getClass().getClassLoader().getResource("html/about.htm").getFile());
engine.load(f.toURI().toString());