gpt4 book ai didi

java - 浏览器使用 JEditorPane 强制蓝色背景

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:17:22 25 4
gpt4 key购买 nike

这是我用来在 JEditorPane 中显示 google 的代码

String url="http://google.com";    
editorPane.setEditable(false);
try {
editorPane.setPage(url);
} catch (IOException e) {}

但由于某种原因,背景总是蓝色的,如果我打电话也没关系

setBackgroundColor(Color.WHITE);

最佳答案

正如@AndrewThompson 在评论中指出的那样,JEditorPane 确实落后了,它仅支持 HTML 3.2 和 CSS1 的一个子集,并且无法真正渲染任何现代网页。

我强烈建议使用替代方案,例如:

  • JavaFX WebView

    代码片段:(没有依赖,你可以按原样运行)

    import javafx.application.Platform;
    import javafx.embed.swing.JFXPanel;
    import javafx.scene.Scene;
    import javafx.scene.web.WebEngine;
    import javafx.scene.web.WebView;

    import javax.swing.*;
    import java.awt.*;

    public class JavaFxBrowser implements Runnable {
    private WebEngine webEngine;

    public static void main(String[] args) {
    SwingUtilities.invokeLater(new JavaFxBrowser());
    }

    public void loadURL(final String url) {
    Platform.runLater(() -> {
    webEngine.load(url);
    });
    }

    @Override
    public void run() {
    // setup UI
    JFrame frame = new JFrame();
    frame.setVisible(true);
    frame.setPreferredSize(new Dimension(1024, 600));
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    JFXPanel jfxPanel = new JFXPanel();
    frame.getContentPane().add(jfxPanel);
    frame.pack();

    Platform.runLater(() -> {
    WebView view = new WebView();
    webEngine = view.getEngine();

    jfxPanel.setScene(new Scene(view));
    });

    loadURL("http://www.google.com");
    }
    }
  • Flying Saucer

    代码示例:

    XHTMLPanel panel = new XHTMLPanel();
    panel.setDocument("http://www.google.com");

    @见BrowsePanel.java

  • NativeSwing

    代码片段:

    final JWebBrowser webBrowser = new JWebBrowser();
    webBrowser.navigate("http://www.google.com");

    @见SimpleWebBrowserExample.java

关于java - 浏览器使用 JEditorPane 强制蓝色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22579965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com