簡體   English   中英

使用Java和JavaFX在WebView中設置文本顏色

[英]Set Text Color in WebView using Java and JavaFX

使用JavaFX,我在一個場景中創建了一個按鈕,用於打開output.txt文件。 現在,當我嘗試從webView打開txt文件時,我看到的顯示顏色是淺灰色。 如何強制顏色為黑色或其他任何顏色。

WebView web = new WebView();
 Scene helpScene = new Scene(web, 800, 750);
 Stage helpStage = new Stage();
 helpStage.setScene(helpScene);
 File readMe = new File("output.txt");
 web.getEngine().load(readMe.toURI().toString());
 helpStage.show();

這是文本外觀的屏幕截圖。 在此處輸入圖片說明

創建一個樣式表,並將其作為用戶樣式表添加到WebEngine

例如,將文字塗成藍色:

body {
    color: blue;
}

假設相對於包含代碼的類的相對位置是style.css ,則可以這樣添加樣式表:

web.getEngine().setUserStyleSheetLocation(getClass().getResource("style.css").toString());

您始終可以將CSS注入WebView。 嘗試這樣的事情:

webView.getEngine().getLoadWorker().stateProperty().addListener(
    new ChangeListener<State>() {
        @Override
        public void changed(ObservableValue<? extends State> ov, State oldState, State newState) {
            if (newState == State.SUCCEEDED) {
                webView.requestFocus();

                //Maybe this
                //webView.getEngine().setUserStyleSheetLocation(getClass().getResource("style.css").toExternalForm());

                //Or this
                Element maincontainer = (Element) webView.getEngine().executeScript("document.getElementsByTagName('body')");
                maincontainer.setAttribute("style", "color: black"));
            }
        }
    });

它未經測試,因此請注意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM