"Este proyecto nos permite apreciar las propiedades de lookAndFeel de java, esta clase, aplica cambios en nuestro frame con configuraciones predeterminadas las cules invocamos segun nuestra necesidad"
El proyecto comprende dos clases para detectar y aplicar el look and feel.
Clase main.java
/* * esta es la clase principal donde recibimos las clases lookAndFeel de * la clase detectorLookAndFeel y los agregamos a un combobox * para que se apliquen los cambios cuando hagamos click * en el boton btn1 apreciando los cambios * de manera inmediata */ package look; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javax.swing.UIManager; public class Main{ String dir; JButton btn1; JComboBox cmb1; JFrame ventana; Main(){ ventana = new JFrame(); ventana.setTitle("bienvenido"); ventana.setSize(600, 600); ventana.setDefaultCloseOperation(ventana.EXIT_ON_CLOSE); ventana.setLayout(new FlowLayout()); ini(); ventana.setVisible(true); } public void ini(){ componentes(); ventana.add(btn1); ventana.add(cmb1); } public void componentes(){ btn1= new JButton("cambiar apariencia"); btn1.setSize(100, 20); DetectorLookAndFeel detec = new DetectorLookAndFeel(); detec.nombresDeClasesLAF(); cmb1 = new JComboBox(); cmb1.setSize(100, 20); for(int i=0; i< detec.nombresDeClasesLAF().length; i++){ cmb1.addItem(detec.nombresDeClasesLAF()[i]); } agregarEventos(); } public void agregarEventos(){ btn1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("cambiar apariencia")){ try { UIManager.setLookAndFeel(cmb1.getSelectedItem().toString()); SwingUtilities.updateComponentTreeUI(ventana); } catch (Exception ex) { } } } }); } public static void main(String[] args){ Main ok = new Main(); } }
Clase DetectorLookAndFeel.java
/* * / * esta clase es para detectar los looks and feels instalados en nuestro sistema */ package look; import javax.swing.UIManager; public class DetectorLookAndFeel { String[] clases; DetectorLookAndFeel() { UIManager.LookAndFeelInfo[] nop; nop=UIManager.getInstalledLookAndFeels(); clases = new String[nop.length]; int i=0; while(i<nop.length){ System.out.println(nop[i].getClassName().toString()); clases[i]=(nop[i].getClassName().toString()); i++; } } public static void main(String[] args){ DetectorLookAndFeel ok = new DetectorLookAndFeel(); } public String[] nombresDeClasesLAF(){ return clases; } }
Descargate el archivo AQUI :)
1 comentarios:
Excelente amigo JC, buen aporte
Publicar un comentario