【发布时间】:2014-10-30 02:29:19
【问题描述】:
我正在准备一个计算机展览项目,我正在为此准备网络浏览器。 它运行完美,但是当我打开诸如google 之类的网站时,它就看不清楚了。出现一个带有 google 徽标和一些文字的蓝屏。
我的代码是:
import java.awt.BorderLayout;
import java.awt.Cursor;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.event.HyperlinkEvent;
import javax.swing.event.HyperlinkListener;
import javax.swing.text.html.*;
public class browser
extends JFrame
implements HyperlinkListener{
URL pageURL;
private static final long serialVersionUID = 1630568393141656837L;
JPanel panel;
JButton back,forward,go;
JTextField website;
JEditorPane display;
JScrollPane sp;
public void setPanel()
{
panel=new JPanel();
back=new JButton("<<");
forward=new JButton(">>");
go=new JButton("GO");
panel.add(back);
panel.add(forward);
website=new JTextField("http://",10);
panel.add(website);
panel.add(go);
sp=new JScrollPane();
display=new JEditorPane();
display.setEditable(false);
display.setContentType("text/html");
sp.add(display);
go.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
browse();
}
});
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add(panel,BorderLayout.NORTH);
add(display,BorderLayout.CENTER);
setSize(900,500);
setVisible(true);
}
protected void browse() {
String page=website.getText();
try {
pageURL=new URL(page);
} catch (MalformedURLException e) {
e.printStackTrace();
}
try {
display.setPage(pageURL);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String arg[])
{
browser br=new browser();
br.setPanel();
}
@Override
public void hyperlinkUpdate(HyperlinkEvent arg0) {
// TODO Auto-generated method stub
HyperlinkEvent.EventType event=arg0.getEventType();
if(event==HyperlinkEvent.EventType.ACTIVATED);
{
browse();
}
}
}
【问题讨论】:
-
首先将
display.setEnabled(false);替换为display.setEditable(false);。