Originariamente inviato da Patrick Jane
codice:
  VisualHTML() {
    campo = new JTextPane();
    campo.setContentType("text/html");
    campo.setEditable(false);
    campo.addHyperlinkListener(this);
    addWindowListener(new WindowsAdapter(this));
     JScrollPane barra = new JScrollPane(campo);
    add(barra,BorderLayout.CENTER);
  }
Uhm ... tu lo stai usando con contenuto HTML (quindi HTMLDocument che è una implementazione specifica di StyledDocument).
Ma anche in questo caso credo proprio non si possa fare.

Prendiamo questo documento:

codice:
<html><body>blabla <span style='border:1px solid black;color:red'>Bordato?</span> blabla</body></html>
Se tu lo prendi, lo metti dentro un file .html e lo apri da un qualunque moderno browser (IE, Firefox ecc...) vedi che la scritta Bordato? è realmente bordata e in rosso. Cioè la proprietà border in CSS viene applicata e rispettata.

Ora prova a metterlo nel JTextPane:

codice:
import java.awt.*;
import javax.swing.*;

public class TestFrame extends JFrame {
    public TestFrame() {
        super("Test Frame");

        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        setSize(500, 400);

        JTextPane textPane = new JTextPane();
        textPane.setContentType("text/html");
        textPane.setText("<html><body>blabla <span style='border:1px solid black;color:red'>Bordato?</span> blabla</body></html>");

        getContentPane().add(new JScrollPane(textPane));
    }

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                TestFrame f = new TestFrame();
                f.setVisible(true);
            }
        });
    }
}
E vedrai che non si vede il bordo (il testo è però rosso). Il motivo è che il rendering di HTML in Swing è parecchio limitato per quanto riguarda il supporto a CSS.