Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Retazo: Cambiar el LookAndFeel para el tiempo de ejecución

  • 1 Respuestas
  • 1799 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Adalher

  • *
  • Underc0der
  • Mensajes: 36
  • Actividad:
    13.33%
  • Reputación 0
    • Ver Perfil
« en: Diciembre 16, 2018, 04:57:13 pm »
Hola,

primero se coloca una clase (estatica) que trae y proporciona el LookAndFeels:

Código: Java
  1. public class LookAndFeel
  2. {
  3. private static ArrayList<LookAndFeelInfo> installedLookAndFeels=new ArrayList<>();
  4.  
  5. static
  6. {
  7. Collections.addAll(installedLookAndFeels,UIManager .getInstalledLookAndFeels());
  8. }
  9.  
  10.  
  11. public static ArrayList<LookAndFeelInfo> getInstalledLookAndFeels()
  12. {
  13. return installedLookAndFeels;
  14. }
  15.  
  16. public static String getLookAndFeelClassByName(String name)
  17. {
  18. for(LookAndFeelInfo lookAndFeelInfo:installedLookAndFeels)
  19. {
  20. if(lookAndFeelInfo.getName().equalsIgnoreCase(name ))
  21. {
  22. return lookAndFeelInfo.getClassName();
  23. }
  24. }
  25. return UIManager.getSystemLookAndFeelClassName();
  26. }
  27.  
  28. }
  29.  


Por ejemplo, para mostrar todos los valores de un Combobox para la elección, se llena
el Combobox como sigue:

Código: Java
  1. private javax.swing.JComboBox<String> lfComboBox;
  2. ...
  3. lfComboBox = new javax.swing.JComboBox<String>();
  4. lfComboBox.setModel(new DefaultComboBoxModel<String>());
  5.  
  6. .....
  7.  
  8. for(LookAndFeelInfo value:LookAndFeel.getInstalledLookAndFeels())
  9. {
  10. lfComboBox.addItem(value.getName());
  11. }
  12.  

El cambiar del LookAndFeel para el tiempo de ejecución:


Código: Java
  1. try
  2. {
  3. //Colocar el LookAndFeel que se elige en el ComboboxDas en el UIManager
  4. UIManager.setLookAndFeel(LookAndFeel.getLookAndFee lClassByName((String)lfComboBox.getSelectedItem()) );
  5. //Ejecutar una actualización para todos los JFrames, JDialoge e. o, que estan activos o que quedan como instancias
  6. SwingUtilities.updateComponentTreeUI(XXXXXXXX);
  7. //Opcional
  8. pack();
  9. }
  10. catch(ClassNotFoundException|InstantiationExceptio n|IllegalAccessException|UnsupportedLookAndFeelExc eption ex)
  11. {
  12. ex.printStackTrace();
  13. }
  14.  

Saludos

Desconectado Elchito33

  • *
  • Underc0der
  • Mensajes: 1
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil
« Respuesta #1 en: Enero 15, 2019, 09:57:14 am »
Interesante aporte, hay que probarlo  ;D

 

¿Te gustó el post? COMPARTILO!



Java al Extremo [Todo lo que Necesitas Para Aprender Java] [Multi]

Iniciado por Mr.Kratos

Respuestas: 0
Vistas: 1812
Último mensaje Julio 20, 2018, 05:21:12 pm
por Mr.Kratos
Conversor ASCI a Hex para inyecciones by andresg888

Iniciado por ProcessKill

Respuestas: 0
Vistas: 1910
Último mensaje Febrero 24, 2010, 04:13:18 pm
por ProcessKill
[Aporte] Mi primera aplicacion para celular

Iniciado por Only

Respuestas: 4
Vistas: 3114
Último mensaje Noviembre 06, 2011, 07:41:24 am
por sisvot1
Programación de juegos para principiantes

Iniciado por Expermicid

Respuestas: 3
Vistas: 6522
Último mensaje Abril 06, 2014, 09:09:17 pm
por Expermicid
Juego del Gato para aprendices.

Iniciado por coke951

Respuestas: 1
Vistas: 2582
Último mensaje Septiembre 10, 2015, 11:55:40 pm
por LKI