You wouldn't use a JPanel. Most Java classes that can display text also interpret HTML, and allow the text to be marked-up.
I pieced this together, for you:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
public class ScrollableHTMLPane extends JScrollPane {
private JTextPane textPane;
private URL htmlPage;
public ScrollableHTMLPane(String urlToDisplay) {
try {
this.textPane = new JTextPane();
this.htmlPage = new URL(urlToDisplay);
textPane.setPage(htmlPage);
} catch (Exception e) {
e.printStackTrace();
}
}
}