Java - NEGRITAS EN JTEXTAREA

 
Vista:
Imágen de perfil de Karina
Val: 21
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

NEGRITAS EN JTEXTAREA

Publicado por Karina (9 intervenciones) el 30/07/2019 03:08:52
Buen día, ¿Es posible escribir en un TextArea con negritas?
Algo así: realizar pagos

Así mismo, si alguien sabe como imprimir el carácter ✔ en el textarea se los agradecería mucho...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

NEGRITAS EN JTEXTAREA

Publicado por Kabuto (1381 intervenciones) el 30/07/2019 12:20:38
El problema de hacerlo como dice Juan es que TODO el texto del JTextArea saldrá en negrita.

Puedes optar por usar un componente un pelín más avanzado, como el JEditorPane, el cuál permite interpretar código HTML.
Usando HTML básico, puedes aplicar estilos a párrafos, palabras o caracteres de forma individual.

No necesitas ser una experta en HTML, solo conoces algunas etiquetas básicas y como aplicarle estilo "en línea". También se pueden usar listas o reglas horizontales (<hr>)

Puedes conseguir algo como esto:

javaHTML


Prueba el código que pongo más abajo y úsalo para experimentar, en el String escribimos el código HTML que queremos mostrar.
Fíjate que al aplicar estilos, tenemos que usar comillas "" dentro de las comillas que usamos para construir el String.
Estas comillas internas, para que el compilador de Java no se haga un lío, hay que "escaparlas" usando la barra invertida o backslash --> \

Por último mencionar que hay otros elementos Swing en los que podemos usar HTML, como por ejemplo los JLabel, los JButton o las ventanas emergentes JOptionPane.
No hay que hacer nada especial para que muestren HTML, tan solo pasarles un String con el código HTML.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public class HtmlArea extends JFrame{
 
	private JEditorPane editor;
 
	public HtmlArea() {
 
		getContentPane().setLayout(new FlowLayout());
 
		editor = new JEditorPane();
		editor.setPreferredSize(new Dimension(400, 300));
		editor.setEditable(false); //El usuario no podrá escribir
		editor.setContentType("text/html"); //Le indicamos que ha de interpretar HTML
 
		//Construimos el HTML en un String
		String txt = "<html>Texto sin negrita --> Realizar pagos ✔<br>"
				+ "Texto con <b>negrita</b> --> Realizar pagos <b></b><br>"
				+ "Texto <b>negrita</b> y <span style=\"color: blue\">color</span>--> Realizar pagos <b style=\"color: blue\"></b><br>"
				+ "<p style=\"text-align:center\">Párrafo centrado</p><br>"
				+ "Separadores horizontales de distintos anchos:<br>"
				+ "<hr style=\"width: 75%\">"
				+ "<hr style=\"width: 50%\">"
				+ "<hr style=\"width: 25%\"><br>"
				+ "Lista:<br>"
				+ "<ul><li>Elemento 1</li><li>Elemento 2</li><li>Elemento 3</li></ul></html>";
 
		//Le pasamos el texto HTML al editor para que lo muestre
		editor.setText(txt);
 
		add(editor);
		setTitle("Prueba HTML");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		pack();
		setVisible(true);
	}
 
	public static void main(String[] args) {
		new HtmlArea();
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Karina
Val: 21
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

NEGRITAS EN JTEXTAREA

Publicado por Karina (9 intervenciones) el 07/08/2019 01:32:43
Muchas gracias!! Justo es lo que necesitaba
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Karina
Val: 21
Ha aumentado su posición en 3 puestos en Java (en relación al último mes)
Gráfica de Java

NEGRITAS EN JTEXTAREA

Publicado por Karina (9 intervenciones) el 07/08/2019 02:51:52
El único detalle que tengo es que no me muestra el símbolo, me muestra un cuadrito en su lugar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar