0

所以我正在开发一个浏览器(只是因为),我不断得到一个java.net.MalformedURLException. 我正在尝试将 aJEditorPane的页面设置为从我的计算机加载的文件。这是代码:

  public Browser() {
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setSize(500, 500);
    URLField = new JTextField("Enter the full address of the website:");
    displayWindow = new JEditorPane();
    try {
        homeURL = new URL(getCurrentDirectory() + "/resources/home.html");
        displayWindow.setPage(homeURL);
    } catch (IOException e) {
        e.printStackTrace();
    }
    tabs = new JTabbedPane();
    tabs.addTab("Home", displayWindow);

    add(URLField, BorderLayout.PAGE_START);
    add(displayWindow, BorderLayout.CENTER);
}  

这是我得到的错误:

java.net.MalformedURLException: unknown protocol: x
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at net.sourceforge.whowantsakookie.browser.Browser.<init>(Browser.java:25)
    at net.sourceforge.whowantsakookie.browser.Browser.main(Browser.java:42)

它所指的行是第 25 行和第 42
行。第 25 行:

homeURL = new URL(getCurrentDirectory() + "/resources/home.html");

第 42 行:

Browser browser = new Browser();

提前致谢!

4

2 回答 2

2
  1. 建立一个File对象。
  2. 检查它是否存在(健全性检查)。
  3. URL url = file.toURI().toURL();

请注意,这样做将确保文件名/路径中的空格字符等内容被正确编码。

于 2012-05-29T01:09:32.893 回答
0

看起来您没有在 JTextField 中提供的 url 之前输入字符串“http://”。请检查。

于 2012-05-28T19:55:03.313 回答