【发布时间】:2012-04-17 01:08:55
【问题描述】:
我在文本板中创建了这个,因为我们的讲师不希望我们使用 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
【问题讨论】:
-
你遇到了什么错误?
-
对于yahoo.com,我在控制台窗口中收到以下错误:
-
添加到我的代码底部
-
知道错误是什么原因吗??
-
您的
SecurityManager似乎拒绝访问以连接到 yahoo.com。我以前从来没有遇到过这样的事情,我真的不知道。
标签: java swing japplet jeditorpane