✅💻👉Como Cambiar La Imagen De Un jButton En Java
Categorías: Java

Como Cambiar La Imagen De Un jButton En Java

Anteriormente había compartido una pequeña guía de como trabajar con botones en java, ya sea creando un botón solo con texto, o un botón con imagen; si quieres ponerte al tanto, te invito a leer el anterior articulo. Aunque este tema este en una variedad de blogs, foros, etc; es algo que no he explicado o compartido en este blog.

Me dije a mi mismo, «Mi mismo, es la hora que muestres como cambiar la imagen ya configurada en un botón, por una nueva imagen».  Interesante? Puede ser, y lo es! Lo único que hace falta es el contexto, es decir, la razón de ser para algo tan trivial.

El ejemplo mas claro para usar este pequeño evento de cambio, es el odontograma; un croquis o resumen de la dentadura del paciente. Es usado por odontologos para llevar el histórico de la dentadura de los pacientes, es por esto que el cambio de imágenes en un botón, puede ser bastante útil en este caso. El pequeño ejemplo que voy a compartir lo hice para despejar la duda de unos cuantos visitantes que han comentado en el blog, y espero que sea de gran utilidad a los futuros. Ahora si, con ustedes, el código!

Clase Principal Cambiar Imagen En Botón

Ver Código Clase Principal
package cambiarimagen;


public class CambiarImagen{
    
    public static void main(String[] args) {
        
        vista vi = new vista(); //creacion del objeto para el manejo de la vista en el controlador
        controla con = new controla(vi); //creacion del objeto del controlador, se pasa el anterior objeto al constructor
        con.eventos(); //invocacion para el uso de los eventos de la vista
        
    }

}

Clase Vista Cambiar Imagen En Botón

Ver Código Clase Vista
package cambiarimagen;


public class vista extends javax.swing.JFrame {

    public vista() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    //                           
    private void initComponents() {

        jb1 = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        jb1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/img/diente.png"))); // NOI18N
        jb1.setFocusPainted(false);
        jb1.setFocusable(false);
        jb1.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jb1.setPreferredSize(new java.awt.Dimension(73, 81));

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(107, 107, 107)
                .addComponent(jb1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(220, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(113, 113, 113)
                .addComponent(jb1, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(114, Short.MAX_VALUE))
        );

        pack();
    }//                         


    // Variables declaration - do not modify                     
    public javax.swing.JButton jb1;
    // End of variables declaration                   
}

Clase Controlador Cambiar Imagen En Botón

Ver Código Clase Controlador
package cambiarimagen;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;

public class controla implements ActionListener {
    
    private vista v;
    
    public controla(vista t){
        
        this.v = t;        
        this.v.setVisible(true);
    }
    
    public void eventos(){
        this.v.jb1.addActionListener(this);
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        if(e.getSource()==this.v.jb1){
            ImageIcon imagen = new ImageIcon("src/img/dienteVerde.png");
            this.v.jb1.setIcon(imagen);
        }
    }
    
}

A tener en cuenta!

Es bueno que recortes las imágenes a la medida, en este caso, son de 73×73 pixeles. Obviamente el tamaño debe ser un poco menor para que se vea estéticamente aceptable. Ademas del tamaño, le he dejado un fondo transparente, para que solo se visualice la imagen con el color.

Descargar Ejemplo Cambiar Imagen A Botón En Java

Si deseas tener el ejemplo, puedes descargar el código fuente para que puedas jugar con el código 😉 Solo pido una pequeña acción social, ya sea un +1, like, twit; lo que tu quieras 😀



Desbloquea el contenido con una acción social...

Comparte este articulo y obtén el contenido premium!

Facebook
Twitter
Linkedin0
WP Dev JaGonzalez

Hijo, esposo y padre de un hermoso niño. Amante de los animales, la tecnología, informática y programación. Si tienes alguna duda, inquietud, comentario o deseas comunicarte directamente conmigo, puedes enviarme un correo electrónico a admin@jagonzalez.org

Ver comentarios

Compartir
Publicado por
WP Dev JaGonzalez

Entradas recientes

iPhone Hackeado: Qué Hacer para Proteger tu Dispositivo y Asegurar tu Seguridad

¿Has notado aplicaciones desconocidas o un drenaje inesperado de la batería? Estos podrían ser indicios…

2 semanas hace

Cómo Restablecer un iPhone a su Estado de Fábrica

Saber cómo Restablecer un iPhone a su Estado de Fábrica es clave para solucionar problemas…

2 semanas hace

Motorola planea lanzar al menos dos nuevos teléfonos Moto G en septiembre

Motorola ha confirmado el lanzamiento de Moto G84 5G y Moto G54 5G en India,…

1 año hace

El equipo de WizardLM afirma que un modelo de IA de terceros les robó el trabajo

Recuerde WizardCoder, ¿el codificador de IA que cubrimos recientemente aquí en Windows Report? Nos jactamos…

1 año hace

Las fallas del complemento Jupiter X Core amenazaron a 172.000 sitios web con apropiaciones de cuentas

Los investigadores han descubierto numerosos fallos de seguridad en el complemento WordPress Jupiter X Core…

1 año hace

Consola portátil Xbox: aquí tienes todo lo que necesitas saber al respecto

Para solucionar problemas del sistema de PC con Windows, necesitará una herramienta dedicada Fortect es…

1 año hace