将 CSS 文件应用于 JavaFX WebView [英] Applying CSS file to JavaFX WebView
本文介绍了将 CSS 文件应用于 JavaFX WebView的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将 CSS 文件应用于 JavaFX WebView 对象.从我读过的内容来看,这应该可以解决问题,但显然我遗漏了一些东西,因为 WebView 显示时没有任何样式.
I am trying to apply a CSS file to a JavaFX WebView object. From what I've read, this should do the trick, but evidently I'm missing something because the WebView displays without any styling.
package net.snortum.play;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebEngine;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
public class WebviewCssPlay extends Application {
@Override
public void start(Stage stage) {
stage.setTitle("CSS Styling Test");
stage.setWidth(300);
stage.setHeight(200);
WebView browser = new WebView();
WebEngine webEngine = browser.getEngine();
webEngine.loadContent("<html><body><h1>Hello!</h1>This is a <b>test</b></body></html>");
VBox root = new VBox();
root.getChildren().addAll(browser);
root.getStyleClass().add("browser");
Scene scene = new Scene(root);
stage.setScene(scene);
scene.getStylesheets().add("/net/snortum/play/web_view.css");
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
我的 CSS 文件如下所示:
My CSS file looks like this:
.browser {
-fx-background-color: #00ff80;
-fx-font-family: Arial, Helvetica, san-serif;
}
推荐答案
James_D 已经在他的回答中解释了 如何转换JavaFx CSS"改为HTML CSS",但使用WebEngine.setUserStylesheetLocation
设置包含 CSS 的样式表:
James_D already explained in his answer how to convert "JavaFx CSS" to "HTML CSS", but it may be more convenient to use WebEngine.setUserStylesheetLocation
to set a stylesheet that contains the CSS:
webEngine.setUserStyleSheetLocation(getClass().getResource("style.css").toString());
style.css 包含 css 代码:
style.css contains the css code:
body {
background-color: #00ff80;
font-family: Arial, Helvetica, sans-serif;
}
这篇关于将 CSS 文件应用于 JavaFX WebView的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文