Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Render html in Swing application

I have a swing application that sends commands to server and receives result in XML format. I need to transform this into HTML via XSLT and then display result HTML on the panel. The problem is that the only Swing component which is able to display HTML - JEditorPane - takes either URL or javax.swing.text.StyledDocument as a source. Option with URL doesn't work for me because I have to save my html as a file on the file system first and I'd like to avoid this.

So I have a gap between in-memory result of XSL transformation and javax.swing.text.StyledDocument, which can be rendered by JEditorPane or JTextPane.

How to transform one to another? Or are there any other Swing solutions to display HTML from some in-memory source(DOM or String or whatever)?

Thank you in advance for help.

like image 575
Maksym Govorischev Avatar asked Nov 24 '09 14:11

Maksym Govorischev


People also ask

How to use HTML in Swing?

To specify that a component's text has HTML formatting, just put the <html> tag at the beginning of the text, then use any valid HTML in the remainder. Here is an example of using HTML in a button's text: button = new JButton("<html><b><u>T</u>wo</b><br>lines</html>"); Here is the resulting button.

How to embed HTML code in Java?

Nowadays, the best way to add Java to HTML is through the so-called JavaServer Pages (JSPs). A JSP page is a file with the extension . jsp. It is an HTML markup containing several JSP tags.

Can we use HTML with Java?

In java, we can extract the HTML content and can parse the HTML Document.


1 Answers

Is there a reason that JEditorPane.setText() does not work for you?

I use JEditorPane all the time and I've never pulled the displayed data from a file or URL. So it is possible. Just need to figure out why it's not working for you.

To be specific:

editor.setContentType( "text/html" );    
editor.setText( "<html><body>Hello, world</body></html>" );
like image 154
PSpeed Avatar answered Oct 11 '22 23:10

PSpeed