Saltar al contenido

Cambiar el color de fondo de un JToggleButton seleccionado

Mantén la atención porque en esta reseña encontrarás la solución que buscas.

Solución:

JToggleButton btn = new JToggleButton(...);
btn.setUI(new MetalToggleButtonUI() 
    @Override
    protected Color getSelectColor() 
        return Color.RED;
    
);

“ToggleButton.selected” es incorrecto, requiere “ToggleButton.select”. Y debe actualizarse al componente.

UIManager.put("ToggleButton.select", Color.WHITE);
SwingUtilities.updateComponentTreeUI(togglebuttonname);

Podrías ver si setIcon() es suficiente para su propósito, pero también puede anular paint() en el ButtonUI delegar.

Anexo: el comentario de @kleopatra está bien tomado: cambiar el delegado de la interfaz de usuario es no trivial. El ejemplo reciente de @mKorbel muestra tanto la dificultad como la versatilidad del enfoque. Su ventaja esencial es la independencia de look & feel.

Aquí se mencionan algunos enfoques menos ambiciosos.

Sección de Reseñas y Valoraciones

Más adelante puedes encontrar las anotaciones de otros desarrolladores, tú igualmente tienes la opción de mostrar el tuyo si dominas el tema.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *