Java - Duda al crear un componente java en netbeans

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Duda al crear un componente java en netbeans

Publicado por AntonioJZP (3 intervenciones) el 25/10/2018 22:58:43
llevo poco tiempo programando y estoy aprendiendo. Mi duda es que quiero crear un componente (Bean) en netbeans que cuando lo inserte en un Frame el botón que inserte, me cambie de color el botón cada vez que lo pulse.

Yo he hecho esto pero no sé si voy bien encaminado porque cuando inserto luego el componente (el botón) en un jframe no hace nada.

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
import java.beans.*;
import java.io.Serializable;
import javax.swing.JButton;
 
public class LblBotonColores extends JButton implements Serializable {
    private boolean cambioColor;
 
    public boolean getCambioColor() {
        return cambioColor;
    }
 
    public void setCambioColor(boolean cambioColor) {
        this.cambioColor = cambioColor;
    }
 
    public LblBotonColores() {
 
        JButton miBoton = new JButton("Hola Mundo");
 
        if(getCambioColor()){
 
            miBoton.setBackground(Color.RED);
        }else{
            miBoton.setBackground(Color.BLUE);
        }
    }
 
}
Muchas gracias.
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 Billy Joel
Val: 2.494
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda al crear un componente java en netbeans

Publicado por Billy Joel (708 intervenciones) el 25/10/2018 23:12:05
En la línea
1
if(getCambioColor()){
La condición nunca cambia, es por esto que cuando presionas el botón no hace nada.

He copiado tu código y le hice una pequeña modificación. Esto debe funcionar
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
import java.awt.Color;
import java.io.Serializable;
import javax.swing.JButton;
 
public class LblBotonColores extends JButton implements Serializable {
 
    private boolean cambioColor;
 
    public boolean getCambioColor() {
        return cambioColor;
    }
 
    public void setCambioColor(boolean cambioColor) {
        this.cambioColor = cambioColor;
    }
 
    private boolean changeColor(){
        cambioColor = !cambioColor;
        return cambioColor;
    }
 
    public LblBotonColores() {
        JButton miBoton = new JButton("Hola Mundo");
        if (changeColor()) {
            miBoton.setBackground(Color.RED);
        } else {
            miBoton.setBackground(Color.BLUE);
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar