sirve que para metodos insertar imagen example java html swing jtextpane text-decorations

java - que - establecer JTextPane en el tipo de contenido HTML y usar constructores de cadenas



para que sirve el jtextpane en netbeans (2)

Estoy usando constructores de cadenas para anexar texto a mi JTextPane, he configurado el tipo de contenido como pane.setContentType("text/html"); pero el texto sin texto aparece en mi JTextPane.

Este es un ejemplo de mi apéndice:

buildSomething.append("<b style=/"color:pink/">"+Birthday+"</span>");

¿Hay algo que estoy haciendo gravemente mal? ¿Y cómo hago para arreglarlo?


@Joop Eggen

1º. loop genera

buildSomething.append("<b style=/"color:pink/">" + myBirthday + "</span>");

2do. loop genera la misma salida, creo que no importa si está dentro de <html> ..<html> o no porque hay pane.setContentType("text/html");

y (código no correcto que publiqué aquí <html> ..</html> )

buildSomething1.append("<html><b style=/"color:pink/">" + myBirthday + "</span></html>");

import java.awt.*; import javax.swing.*; public class MyTextPane implements Runnable { private JFrame frm; private JScrollPane jsp; private JTextPane jta; private StringBuilder buildSomething = new StringBuilder(); private StringBuilder buildSomething1 = new StringBuilder(); final String myBirthday = "Birthday"; public MyTextPane() { for (int i = 0; i < 10; i++) { buildSomething.append("<b style=/"color:pink/">" + myBirthday + "</span>"); buildSomething1.append("<html><b style=/"color:pink/">" + myBirthday + "</span><html>"); } jta = new JTextPane(); jta.setContentType("text/html"); jta.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); jta.setText(myBirthday); jsp = new JScrollPane(jta); jsp.setPreferredSize(new Dimension(250, 450)); frm = new JFrame("awesome"); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frm.setLayout(new BorderLayout()); frm.add(jsp, BorderLayout.CENTER); frm.setLocation(100, 100); frm.pack(); frm.setVisible(true); new Thread(this).start(); } @Override public void run() { try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } SwingUtilities.invokeLater(new Runnable() { @Override public void run() { jta.setText(buildSomething.toString()); } }); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } SwingUtilities.invokeLater(new Runnable() { @Override public void run() { jta.setText(buildSomething1.toString()); } }); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { MyTextPane fs = new MyTextPane(); } }); } }


Cada vez que se JTextPane.setText(...) se determina un nuevo tipo de contenido. Comience el texto con "<html>" y obtendrá HTML.

Se crea un nuevo documento, en su caso HTMLDocument.

@mKorbel: lo siguiente crea cada vez HTML para JTextPane.

buildSomething.append("<html>"); buildSomething1.append("<html>"); for (int i = 0; i < 10; i++) { buildSomething.append("<span style=/"color:red/">" + myBirthday + "</span>"); buildSomething1.append("<b style=/"color:blue/">" + myBirthday + "</b>"); }