Dhruv Baveja
Dhruv Baveja

Reputation: 166

Code for enabling javascript in JEditorPane based browser

I have written the code for browser in java but most of the websites don't open up properly, may be due to javascript isn't supported.So can anyone please suggest me the code for enabling javascript in my browser.

Here's the code.

package browser;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class Browser extends JFrame
{
    private JTextField addressbar;
    private JEditorPane display;

    public Browser(){
    super("Browser");
    addressbar = new JTextField("Enter url");
    addressbar.addActionListener(
           new ActionListener(){
              public void actionPerformed(ActionEvent event){
                  loadpage(event.getActionCommand());
              }
           } 
          );
    add(addressbar, BorderLayout.NORTH);
    display = new  JEditorPane();
    display.setEditable(false);
    display.addHyperlinkListener(
         new HyperlinkListener(){
            public void hyperlinkUpdate(HyperlinkEvent event){
               if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED){
                 loadpage(event.getURL().toString());
               }
            }
            }   
          );
          add(new JScrollPane(display), BorderLayout.CENTER);
          setSize(1200,720);
          setVisible(true);
          setResizable(true);
    }
    private void loadpage(String userText){
        try{
            display.setPage(userText);
            addressbar.setText(userText);
        }
        catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}

Upvotes: 0

Views: 1758

Answers (1)

Andrew Thompson
Andrew Thompson

Reputation: 168845

The JEditorPane class supports a limited sub-set of HTML 3.2 and was never intended to be a browser.

Javascript is not supported in the default HTML editor kit used by the editor pane.

Support for new HTML elements can be added to the editor kit, but you need to supply the component that renders or functionality that acts on the JS, ..applet, whatever element.

Upvotes: 2

Related Questions