2012-04-17 43 views
2

我在文本板中創建了這個,因爲我們的教師不希望我們使用IDE。我正在嘗試在JEditorPane中輸入網站並查看它。爲什麼運行後會出現端口錯誤?

import java.awt.*; 
    import java.awt.event.*; 
    import java.io.*; 
    import java.net.*; 
    import javax.swing.*; 
    import java.util.*; 

    public class ViewRemoteFile extends JApplet 
    { 
     private JButton jbtView = new JButton("View"); 
     private JTextField jtfURL = new JTextField(12); 
     private JEditorPane jtaFile = new JEditorPane(); 
     private JLabel jlblStatus = new JLabel(); 

     public void init() 
     { 
      JPanel p1 = new JPanel(); 
      p1.add(new JLabel("URL"), BorderLayout.WEST); 
      p1.add(jtfURL, BorderLayout.CENTER); 
      p1.add(jbtView, BorderLayout.EAST); 
      add(new JScrollPane(jtaFile), BorderLayout.CENTER); 
      add(p1, BorderLayout.NORTH); 
      add(jlblStatus, BorderLayout.SOUTH); 

      jbtView.addActionListener(new ActionListener() 
      { 
       public void actionPerformed(ActionEvent e) 
       { 
        showFile(); 
       } 
      }); 
     } 

     private void showFile() 
     { 
      //Scanner input = null; 
      //URL url = null; 

      try 
      { 
       jtaFile.setPage(new URL(jtfURL.getText().trim())); 
       jlblStatus.setText("File loaded successfully"); 
      } 
      catch(MalformedURLException ex) 
      { 
       jlblStatus.setText("URL " + jtfURL.getText().trim() + " not found."); 
      } 
      catch(IOException ex) 
      { 
       jlblStatus.setText(ex.getMessage()); 
      } 
      /*finally 
      { 
       if(input != null) 
        input.close(); 
      }*/ 
     } 
    } 

當我運行此代碼時,它不顯示該網站,它崩潰並填充我的控制檯與大量的錯誤。

http://www.yahoo.com我得到:

 at java.awt.EventDispatchThread.run(EventDispatchThread.java:90) 
Caused by: java.security.AccessControlException: access denied ("java.net.Socket 
Permission" "www.yahoo.com:80" "connect,resolve") 
     at java.security.AccessControlContext.checkPermission(AccessControlConte 
xt.java:366) 
     at java.security.AccessController.checkPermission(AccessController.java: 
555) 
     at java.lang.SecurityManager.checkPermission(SecurityManager.java:549) 
     at java.lang.SecurityManager.checkConnect(SecurityManager.java:1051) 
     at sun.net.www.http.HttpClient.openServer(HttpClient.java:466) 
     at sun.net.www.http.HttpClient.<init>(HttpClient.java:213) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:300) 
     at sun.net.www.http.HttpClient.New(HttpClient.java:316) 
     at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLC 
onnection.java:992) 
     at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConne 
ction.java:928) 
     at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection 
.java:846) 
     at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLCon 
nection.java:1296) 
     at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:468 
) 
     ... 40 more 
+0

你得到的錯誤是什麼? – Jeffrey 2012-04-17 01:09:22

+0

對於http://www.yahoo.com,我在控制檯窗口中收到以下錯誤: – Robert 2012-04-17 01:11:14

+0

已添加到我的代碼的底部 – Robert 2012-04-17 01:12:52

回答

2

這是一個小程序,它需要登錄後才能訪問的插座。未簽名的applet只允許連接到它來自的主機。退房Signed AppletsWhat Applets Can and Cannot Do

編輯:顯示HTML文檔:

我不知道什麼是你的目標,但如果你想顯示HTML網頁你會發現showDocument有用。這是一個example

+0

謝謝我現在正在研究這個問題。 – Robert 2012-04-17 01:45:14

+0

@ user512915也許'showDocument'可以幫助你,看看我的編輯。 – tenorsax 2012-04-17 01:54:29

相關問題