📄 browser.java
字号:
//基本html浏览器
//纯html页面
//非JTextPane 是JEditorPane!!!!!
import javax.swing.*;
import java.awt.*;
import java.io.*;
import javax.swing.event.*;
public class Browser extends JFrame{
public Browser(String url){
super("Browser");
setSize(400,300);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel urlPanel=new JPanel();
urlPanel.setLayout(new BorderLayout());
//网页输入区
//注意有bug
JTextField urlField=new JTextField();
urlPanel.add(urlField,BorderLayout.CENTER);
final JLabel status =new JLabel(" ");
//非JTextPane!!!!!
JEditorPane jeditorpane=new JEditorPane();
jeditorpane.setEditable(false);
try{
jeditorpane.setPage(url);
}catch(Exception e){
status.setText("could not open this page");
}
JScrollPane jsc=new JScrollPane(jeditorpane);
getContentPane().add(jsc,BorderLayout.CENTER);
getContentPane().add(urlPanel,BorderLayout.NORTH);
getContentPane().add(status,BorderLayout.SOUTH);
final JEditorPane finalPane=jeditorpane;
/*新加的HyperlinkListener
实现hyperlinkUpdate()
使双击超链接打开新网页
*/
HyperlinkListener hyperlinkListener = new HyperlinkListener() {
public void hyperlinkUpdate(HyperlinkEvent e) {
try{ if (e.getEventType() ==HyperlinkEvent.EventType.ACTIVATED){
finalPane.setPage(e.getURL());}
}catch(IOException ioe){}
}
};
jeditorpane.addHyperlinkListener(hyperlinkListener);
}
/*URL=argv[0]
默认的是www.163.com
(只能显示纯HTML页面,本地文件用绝对路径)
如 java Browser http://www.163.com/
或者java Browser D:\Attributes[1].html
*/
public static void main(String argv[]){
String url="";
if(argv.length==1){
url=argv[0];
if(!(url.startsWith("http:"))||url.startsWith("file:"))
{
if(url.startsWith("/")){
url="file:"+url;
}
else{
try {
File file=new File(url);
url=file.toURL().toString();
}catch(Exception e){
url="http://www.163.com";//默认
}
}
}
}else{
url="http://www.163.com";//默认
}
new Browser(url).setVisible(true);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -