Skip to Main Content

Java SE (Java Platform, Standard Edition)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Web Browser.....Code is inside...but clarify few things!

843810Nov 17 2005 — edited Mar 12 2007
HI All,
this is pilot ..sorry to bother u again but this time its kinda important
here is my program for a web browser--
now i wanna know a few things HyperlinkListener just not support javascript nor does it support flash ...thats 2 and i wanna know wht else restrictions that are in this simple browser....
and can u tell me how can i make this browser more faster and i wanna add a JProgressBar to it and i have no clue...please help/
import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JEditorPane;
import javax.swing.JLabel;
import java.io.IOException;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.UIManager;
import javax.swing.JEditorPane;
import javax.swing.event.HyperlinkListener;
import javax.swing.event.HyperlinkEvent;
import javax.swing.JOptionPane;
 
 
public class Browser implements ActionListener
{
	JTextField t1;
	JLabel l1;
	JButton b1;
	GridBagLayout gbl;
	GridBagConstraints gbc;
	JPanel p;
	JFrame frame;
	JScrollPane scrollPane;
	JEditorPane jep;
	static String initialPage;
 
public Browser()
{
	//JFrame.setDefaultLookAndFeelDecorated(true);
	/*try
	{
	   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
	}
	catch(Exception e)
	{
	    e.printStackTrace();
    }*/
	frame=new JFrame("Simple Web Browser");
 
	gbl=new GridBagLayout();
	gbc=new GridBagConstraints();
 
	p=new JPanel();
	p.setLayout(gbl);
 
	jep = new JEditorPane();
 
	t1=new JTextField();
 
	b1=new JButton("Check it out!");
	b1.addActionListener(this);
	frame.getRootPane().setDefaultButton(b1);
 
	l1=new JLabel("Address");
 
	gbc.anchor=GridBagConstraints.NORTHEAST;
	gbc.fill=GridBagConstraints.HORIZONTAL;
	gbc.gridx=0;
	gbc.gridy=0;
	gbc.weightx=0.0;
	gbl.setConstraints(l1,gbc);
	p.add(l1);
 
	gbc.anchor=GridBagConstraints.NORTHEAST;
	gbc.gridx=1;
	gbc.gridy=0;
	gbc.weightx=1.0;
	gbl.setConstraints(t1,gbc);
	p.add(t1);
 
	gbc.anchor=GridBagConstraints.NORTHWEST;
	gbc.gridx=2;
	gbc.gridy=0;
	gbc.weightx=0.0;
	gbl.setConstraints(b1,gbc);
	p.add(b1);
 
    scrollPane = new JScrollPane(jep);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 
    frame.getContentPane().add(p,BorderLayout.NORTH);
	frame.getContentPane().add(scrollPane);
    frame.setSize(1000,700);
    frame.setVisible(true);
}
 
public void actionPerformed(ActionEvent e)
{
		initialPage=t1.getText();
		char a=initialPage.charAt(0);
		char b=initialPage.charAt(1);
		char c=initialPage.charAt(2);
		char d=initialPage.charAt(3);
		char ea=initialPage.charAt(4);
		char f=initialPage.charAt(5);
		char g=initialPage.charAt(6);
 
		if((a=='h')&&(b=='t')&&(c=='t')&&(d=='p')&&(ea==':')&&(f=='/')&&(g=='/'))
		{
			initialPage=t1.getText();
		}
		else
		{
			initialPage="http://"+initialPage;
		}
		jep.setEditable(false);
		jep.addHyperlinkListener(new second(jep));
	    try
	    {
	      jep.setPage(initialPage);
	    }
	    catch (IOException ae)
	    {
		  JOptionPane.showMessageDialog(frame,new String("Error: "+ae));
	   }
}
public static void main(String[] args)
{
		new SimpleWebBrowser();
	}
}
class second implements HyperlinkListener
{
  private JEditorPane pane;
 
  public second(JEditorPane pane)
  {
    this.pane = pane;
  }
public void hyperlinkUpdate(HyperlinkEvent evt)
  {
   if (evt.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
   {
	 try
     {
       pane.setPage(evt.getURL());
     }
     catch (Exception e){}
  }}}
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 9 2007
Added on Nov 17 2005
13 comments
138 views