2012-05-28 5 views
0

그래서 브라우저에서 작업 중이므로 계속 java.net.MalformedURLException이 표시됩니다. 내 컴퓨터에서로드 된 파일에 JEditorPane 님의 페이지를 설정하려고합니다. 여기에 코드입니다 :시스템에서 HTML 파일을로드 할 때 MalformedURLException이 발생합니다.

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(); 

미리 감사드립니다!

+0

새 URL ("file : //"+ getCurrentDirectory(). replaceAll ('\\', '/') + '... ")'을 수행하십시오. 아니면 뭔가 더 좋네요. –

+0

감사합니다! 그걸 받아 들일 수 있도록 대답 해 주시겠습니까? – mattbdean

답변

2
  1. File 개체를 설정하십시오.
  2. 체크 표시가 있는지 확인합니다 (정상 상태 확인).
  3. URL url = file.toURI().toURL();

그것을 이런 식으로 일을하면 파일 이름/경로에 공간 문자 같은 것들이 제대로 인코딩되도록 않습니다.

+0

고마워요! 전에 URI를 사용하는 것에 대해 생각하지 않았습니다. – mattbdean

+0

반갑습니다. 다행 이군. :) –

0

JTextField에서 제공하는 URL 앞에 'http : //'문자열을 입력하지 않은 것처럼 보입니다. 확인해주십시오.

+0

고마워,하지만 오프라인으로로드 한 이후로'file : //'을 넣어야했다. – mattbdean

관련 문제