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){}
}}}