Ver Mensaje Individual
  #8 (permalink)  
Antiguo 29/08/2015, 11:58
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Agrefar for en setText de jlabel

No puedes meter un for dentro de la asignación de texto del JLabel, y pretender que funcione.
Si quieres calcular ese texto, debes de calcularlo a parte y una vez que lo tengas calculado a parte lo metes ahí. Por ejemplo, puedes utilizar una variable para concatenar texto, y una vez que lo tengas todo el texto calculado lo metes en tu asignación de texto. O bien, puedes tener una función String que te devuelva un texto... y llamarla en la asignación de texto. Pero no hacer el cálculo dentro de la asignación como estás pretendiendo.


Prueba el siguiente código:
Código:
String miVariable=" - Texto Medio - ";
JLabel1.setText("Texto Inicio");
JLabel1.setText(JLabel1.getText.concat(miVariable));
JLabel1.setText(JLabel1.getText.concat("Texto Final"));
System.out.println(JLabel1.getText);
Que es el mismo que:
Código:
String miVariable=" - Texto Medio - ";
JLabel1.setText("Texto Inicio");
JLabel1.setText(JLabel1.getText+miVariable);
JLabel1.setText(JLabel1.getText+"Texto Final");
System.out.println(JLabel1.getText);
Solo que para concatenar textos es más aconsejable usar el método concat, porque si no, a veces vas a concatenar números que los quieres como texto y resulta que te los suma. Y otros errores varios que te pueden surgir al concatenar texto. Si lo que quieres es concatenar textos usa el método de String diseñado específicamente a concatenar textos. Así te ahorrarás errores.

Última edición por Kritik; 29/08/2015 a las 12:15