这是我用来在 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 的一个子集,并且无法真正渲染任何现代网页。
我强烈建议使用替代方案,例如:
-
代码片段:(没有依赖,你可以按原样运行)
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"); } }
-
代码示例:
XHTMLPanel panel = new XHTMLPanel(); panel.setDocument("http://www.google.com");
-
代码片段:
final JWebBrowser webBrowser = new JWebBrowser(); webBrowser.navigate("http://www.google.com");
关于java - 浏览器使用 JEditorPane 强制蓝色背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22579965/