Uhm ... tu lo stai usando con contenuto HTML (quindi HTMLDocument che è una implementazione specifica di StyledDocument).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); }
Ma anche in questo caso credo proprio non si possa fare.
Prendiamo questo documento:
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.codice:<html><body>blabla <span style='border:1px solid black;color:red'>Bordato?</span> blabla</body></html>
Ora prova a metterlo nel JTextPane:
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.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); } }); } }

					
					
					
						
  Rispondi quotando