Java - Cambiar color de fondo en una etiqueta si sobrepasa un valor X

 
Vista:
Imágen de perfil de daxtrox
Val: 39
Ha disminuido su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

Cambiar color de fondo en una etiqueta si sobrepasa un valor X

Publicado por daxtrox (10 intervenciones) el 15/06/2020 17:35:10
Estimados tengo un aplicacion que convierte metros x segundo a kilometros x hora, quiero saber como puedo cambiar el color de fondo de la etiqueta si sobrepasa X valor:

Ejemplo se la velocidad son 50 km/hora se pinte Rojo el fondo de la etiqueta.

Adjunto metodo y el evento

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Operacion {
 
    public double Resultado;
 
    public void calcular(double n1){
 
        Resultado = n1 * 3.6;
    }
    Evento
 
}
 
 
private void campoN1ActionPerformed(java.awt.event.ActionEvent evt) {
    double num1 = Double.parseDouble(campoN1.getText());
 
    operar.calcular(num1);
 
    labelResult.setText(String.valueOf(operar.Resultado));
}
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 Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Cambiar color de fondo en una etiqueta si sobrepasa un valor X

Publicado por Franklin (179 intervenciones) el 15/06/2020 18:15:28
Esta puede ser una forma. Dado de que el Color dependerá el valor mostrado en el Label puedes asociar aplicarle un DocumentListener para ejecutar un metodo de validación en sus metodos InsertUpdate,remove,changedUpdate.

Exjemplo

Antes del código, puedes asociarlo al Label :

labelResult.getDocument().addDocumentListener(new DocumenListenerz (labelResult));

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
// código.
 
import javax.swing.JLabel;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
 
 
public class DocumenListenerz implements DocumentListener {
 
    JLabel texto;
 
    public DocumenListenerz(JLabel texto) {
        this.texto = texto;
    }
 
    @Override
    public void insertUpdate(DocumentEvent e) {
        warn();
    }
 
    @Override
    public void removeUpdate(DocumentEvent e) {
        warn();
    }
 
    @Override
    public void changedUpdate(DocumentEvent e) {
        warn();
    }
 
    private void warn() {
        Double valor = Double.parseDouble(texto.getText());
        if(valor>100){
            //Accion a ejecutar
        }
    }
 
 
 
}
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