mybrowser.java

来自「是一个基于java的简单浏览器」· Java 代码 · 共 71 行

JAVA
71
字号
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.*;
import java.net.*;
import javax.swing.text.html.HTMLFrameHyperlinkEvent;
import javax.swing.text.html.*;

public class MyBrowser extends JFrame{
	 JLabel jLabel;
	 final JTextField tf;
	 JEditorPane content;
	 
	 public MyBrowser(){
	 	super("我的浏览器");
	 	Container con=getContentPane();
	 	jLabel=new JLabel("地址:");
	 	tf=new JTextField("");
	 	tf.addActionListener(new MyFieldDealing());
	 	
	 	JPanel panel=new JPanel();
	 	panel.setLayout(new GridLayout(2,1));
	 	panel.add(jLabel);
	 	panel.add(tf);
	 	con.add(panel,BorderLayout.NORTH);
	 	
	 	content=new JEditorPane();
	 	content.setEditable(false);
	 	content.addHyperlinkListener(new MyHyperListener());
	 	content.setContentType("text/html");
	 	content.setEditorKit(new HTMLEditorKit());
	 	con.add(new JScrollPane(content),BorderLayout.CENTER);
	 	setSize(400,300);
	 	setVisible(true);
	}
	
	void getThePage(String site){
		try{
			content.setPage(site);
			tf.setText(site);
			}
			catch(IOException ex)
			{
				JOptionPane.showMessageDialog(this,"连接错误","错误提示",JOptionPane.ERROR_MESSAGE);
				}
	}
	
	class MyFieldDealing implements ActionListener{
		public void actionPerformed(ActionEvent e)
		{
			String str=tf.getText();
			getThePage(str);
			}
		}
		
		class MyHyperListener implements HyperlinkListener{
			public void hyperlinkUpdate(HyperlinkEvent e){
			if(e.getEventType()==HyperlinkEvent.EventType.ACTIVATED){
				String str=e.getURL().toString();
				getThePage(str);
				tf.setText(e.getURL().toString());
			}
		}
	}
		
	public static void main(String args[]){
		MyBrowser mb=new MyBrowser();
		mb.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?