• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 359
  • Last Modified:

Java Bean Browser

I am writing an Java application that I would like to display html and jsp pages within a JPanel.  Does anyone know if a bean exists to do this and where I can get it?
0
mpoisson
Asked:
mpoisson
  • 5
  • 5
1 Solution
 
jerchCommented:
Use JEditorPane.  It supports HTML 3.2

JEditorPane1 htmlPane = new JEditorPane();
htmlPane.setName("My HTML Pane");
htmlPane.setBounds(0, 0, 400, 400);
htmlPane.setEditable(false);
htmlPane.setPage(<url>);

The setPage() method can either accept URL or String.

sincerely yours
Jerson
0
 
jerchCommented:
By the away add it in a JScrollPane.

scrollPane.setViewportView(htmlPane);
0
 
mpoissonAuthor Commented:
Can this htmlPane also display JSP(Java Server Pages)?  
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
jerchCommented:
Definitely, since jsp generates html. The jsp code is not actually returned. Likewise, it supports ASP.  The important thing is that the page generated only contains html 3.2 tags.  Otherwise, it will not be able to display or display properly the page.

Jerson
0
 
mpoissonAuthor Commented:
Can this htmlPane also display JSP(Java Server Pages)?  
0
 
mpoissonAuthor Commented:
I have tried this out, and it there seems to be some problems using forms.  A submit button generates a null pointer exception coming from the java package javax.swing.text.html.FormView.  I am not familiar with the EditorPane are we asking too much of it?
0
 
mpoissonAuthor Commented:
I have tried this out, and it there seems to be some problems using forms.  A submit button generates a null pointer exception coming from the java package javax.swing.text.html.FormView.  I am not familiar with the EditorPane are we asking too much of it?
0
 
mpoissonAuthor Commented:
Adjusted points from 200 to 400
0
 
jerchCommented:
Hello there... No you're not asking to much. It's actually because we have different time zone. :-) Your last post here was actually 2am here.

Anyway, I prepared a code for you. Check this out. This is the code for the html and make sure that you have all the syntax correct since I've tried it out and it supports form submission.  It will throw exception if it encounters unrecognized tags or wrong syntax such as having <\body> instead of slash you have back slash.

<html>
<body>
<b>Please Log in</b><br>
<form action="/servlet/Login" method="post">
Username:&nbsp;<input type="text" name="username" size="20"><BR>
Password:&nbsp;<input type="password" name="password" size="20"><BR>
<input type="submit" value="Log me in!">
</form>
</body>
</html>


On the other hand, this is servlet that the form submits to.

import java.io.*;

import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class Login extends HttpServlet {
    public void doPost(HttpServletRequest req, HttpServletResponse res)
            throws IOException, ServletException {  
        PrintWriter out = res.getWriter();
        out.println("Username:&nbsp;" + req.getParameter("username") + "<br>");
        out.println("Password:&nbsp;" + req.getParameter("password") + "<br>");
        out.close();
    }

    public void doGet(HttpServletRequest req, HttpServletResponse res)
            throws IOException, ServletException {
        doPost(req, res);
    }
}    

So if I were able to make it work in servlet.  It suppose to work with JSP.  Since the JEditorPane does not care what server side program processes the form.


And this is the last program that you use to view the HTML

import javax.swing.*;
import java.net.*;
import java.io.*;


class HTML {
   
    public HTML(String url) throws IOException {
        JEditorPane htmlPane = new JEditorPane();
        htmlPane.setName("My HTML Pane");
        htmlPane.setEditable(false);
        htmlPane.setPage(url);
       
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setName("scrollPane");
        scrollPane.setBounds(0, 0, 640, 480);
        scrollPane.setViewportView(htmlPane);
 
        JPanel panel = new JPanel();
        panel.setName("panel");
        panel.setLayout(null);
        panel.add(scrollPane, scrollPane.getName());
        panel.add(new JButton("OK"), "button");

        JFrame frame = new JFrame();
        frame.setName("HTML");
        frame.setBounds(0, 0, 640, 480);
        frame.setTitle("HTML");
        frame.setContentPane(panel);
        //frame.setResizable(false);

        //frame.pack();
        frame.setVisible(true);
    }
   
    public static void main(String[] args) throws Exception {
        HTML html = new HTML("http://localhost/");
    }
}

Hope this helped.

Sincerely yours,
Jerson
0
 
jerchCommented:
thank you...
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now