import java.io.*;
import java.net.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.event.*;
public class WebBrowser extends JFrame{
String temp,urlQueue[]=new String[20];
int F=0,R=-1;
JButton go=new JButton(“Go”);
JButton prev=new JButton(“Prev”);
JButton next=new JButton(“Next”);
JTextField url=new JTextField(30);
JEditorPane page=new JEditorPane();
public static void main(String args[]){
JFrame obj=new WebBrowser();
obj.setTitle(“Browser”);
obj.setSize(800,500);
obj.setVisible(true);
}
public WebBrowser(){
Components();
Events();
}
public void Components(){
getContentPane().setLayout(null);
url.setBounds(20,400,200,20);
go.setBounds(240,400,20,20);
prev.setBounds(100,440,40,20);
next.setBounds(160,440,40,20);
page.setBounds(10,10,790,375);
getContentPane().add(page);
getContentPane().add(url);
getContentPane().add(go);
getContentPane().add(next);
getContentPane().add(prev);
}
public void Events(){
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we){
System.exit(0);
}
}
);
go.addActionListener(new Browser());
prev.addActionListener(new Browser());
next.addActionListener(new Browser());
page.setEditable(false);
page.addHyperlinkListener(new HyperlinkListener()
{
public void hyperlinkUpdate(HyperlinkEvent he){
if(he.getEventType()==HyperlinkEvent.EventType.ACTIVATED)
{
try{
temp= he.getURL().toString();
page.setPage(temp);
R++;
urlQueue[R]=temp;
url.setText(temp);
}
catch(Exception e)
{
}
}
}
}
);
}
public class Browser implements ActionListener{
public void actionPerformed(ActionEvent ae) {
try{
if(ae.getSource()==go){
temp=url.getText();
page.setPage(temp);
R++;
urlQueue[R]=temp;
}
else if(ae.getSource()==prev){
R–;
temp=urlQueue[R];
page.setPage(temp);
}
else if(ae.getSource()==next){
R++;
temp=urlQueue[R];
page.setPage(temp);
}
}
catch(IOException e)
{
}
}
}
}