Mac OS X Look and Feel para Java
Autor: Luciano | Categoría: Java, Programación
Anteriormente, hemos visto como Instalar nuevos Look and Feels. En esta oportunidad, pongo a disposición el Look and Feel de Mac OS X (Quaque Look and Feel), que puedes descargarlo aquí.
Para recordar rápidamente como “instalarlo”:
- Copiar quaqua.tar en el directorio jre\lib\ext
- En archivo swing.properties en swing.installedlafs Quaua por ejemplo (swing.installedlafs = metal,motif,winXP,Quaqua)
- Crear las claves:
- swing.installedlaf.Quaqua.name = Quaqua
- swing.installedlaf.Quaqua.class = ch.randelshofer.quaqua.QuaquaLookAndFeel

9 Respuestas para "Mac OS X Look and Feel para Java"
oye cuando descargo el quaqua por la pagina principal, esta descarga un carpeta mas grande q cuando descargo directamente el .jar, y a la ora de ejecutar aunq si funciona, pero me marca errores no se si se deba a que na mas cargo el .jar o tengo q cargar todo la carpeta completa…si me podrias auxiliar te lo agradeceria mucho
oye men que bueno, pero no entendi muy bien como intalarlos, sera que lo puedes poner mas claro??
esta explicacion no se entiende un para nada . por favor explica mejor .
solo instalarlo en LIBRARIES de netbeans e importarlo :
import ch.randelshofer.quaqua.QuaquaLookAndFeel
Esta realmente ma explicado… y el tipo no esta en explicar nada… pero no pierdan su tiempo, este lookandfeel solo funciona en mac, no en windows.
Te equivocas @eliezer, funciona perfectamente en Windows; de echo, la captura de pantalla la tomé de una PC Windows con la que hice las pruebas.
Saludos.
asi es funciona perfectamente y no solo cambia el aspecto de lo controles si no tmbn el aspecto de la ventana para hacela mas similar al mac osx.
Hey, ´hace poco también me encontré con este problema, y la verdad es que es más facil de lo que pensaba. Trataré de explicarles como lo hice.
1.-descarga el look and feel que deseas (El archivo .jar es el que necesitamos)
2.-Dentro de tu proyecto, dentro de las bibliotecas(Libraries) dale click derecho sobre esa carpeta, y selecciona agregar libreria(Add Library)
3.-Te aparecerá una lista de todas las librerias que tienes, pero en este caso le daremos en el boton Crear(create), nos aparecerá una nueva ventana para darle un nombre, le damos el nombre que queramos, después en otra ventana nos pedirá que agreguemos el archivo .jar, entonces le damos al botón agregar archivo jar
Buscamos el archivo jar y lo insertamos, por ultimo le damos en agregar la biblioteca que acabamos de crear
4.-Ya en tu proyecto o tu frame ve a tu apartado de código, y en el método main agregas lo siguiente:
try{
UIManager.setLookAndFeel(“Aqui va tu dirección de donde esta el look and feel de la libreria que creaste”);// La dirección va entre comillas, nota: fijate en tu librería para checar que esté bien por lo general la sintaxis va asi: com.profil.jtatto.JtattoLookAndFeel( este es un ejemplo)
}
catch(Excepxion e){}
si tienen alguna duda este es mi correo diego09hernandez@gmail.com
Hola he estado intentando agregar ese libreria a mi código. No dio errores de compilación pero cuando intento correr el programa me genera el siguiente error
Warning: ch.randelshofer.quaqua.util.Preferences failed to load Mac OS X global system preferences
java.io.FileNotFoundException: C:\Documents and Settings\georman.calderon\Library\Preferences\.GlobalPreferences.plist (El sistema no puede hallar la ruta especificada)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.(FileInputStream.java:106)
at java.io.FileReader.(FileReader.java:55)
at ch.randelshofer.quaqua.util.Preferences.readPList(Preferences.java:111)
at ch.randelshofer.quaqua.util.Preferences.loadGlobalPreferences(Preferences.java:78)
at ch.randelshofer.quaqua.util.Preferences.get(Preferences.java:49)
at ch.randelshofer.quaqua.util.Preferences.getString(Preferences.java:39)
at ch.randelshofer.quaqua.BasicQuaquaLookAndFeel.initSystemColorDefaults(BasicQuaquaLookAndFeel.java:211)
at ch.randelshofer.quaqua.tiger.Quaqua14TigerCrossPlatformLookAndFeel.initSystemColorDefaults(Quaqua14TigerCrossPlatformLookAndFeel.java:76)
at ch.randelshofer.quaqua.BasicQuaquaLookAndFeel.getDefaults(BasicQuaquaLookAndFeel.java:131)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:541)
at fmimonitor.FmiLogin$1.run(FmiLogin.java:151)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Exception in thread “AWT-EventQueue-0″ java.lang.NullPointerException
at ch.randelshofer.quaqua.QuaquaComboBoxUI.getMargin(QuaquaComboBoxUI.java:428)
at ch.randelshofer.quaqua.QuaquaComboBoxUI.getVisualBounds(QuaquaComboBoxUI.java:516)
at ch.randelshofer.quaqua.QuaquaComboBoxUI.getBaseline(QuaquaComboBoxUI.java:501)
at javax.swing.JComponent.getBaseline(JComponent.java:2530)
at javax.swing.GroupLayout$ComponentSpring.getBaseline(GroupLayout.java:3000)
at javax.swing.GroupLayout$BaselineGroup.calculateBaselineAndResizeBehavior(GroupLayout.java:2657)
at javax.swing.GroupLayout$BaselineGroup.calculateSize(GroupLayout.java:2633)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1568)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1325)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1604)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1593)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1568)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1325)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1604)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1588)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1568)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1325)
at javax.swing.GroupLayout$Group.getSpringSize(GroupLayout.java:1604)
at javax.swing.GroupLayout$Group.calculateSize(GroupLayout.java:1588)
at javax.swing.GroupLayout$Group.calculatePreferredSize(GroupLayout.java:1568)
at javax.swing.GroupLayout$Spring.getPreferredSize(GroupLayout.java:1325)
at javax.swing.GroupLayout.calculateAutopadding(GroupLayout.java:1050)
at javax.swing.GroupLayout.prepare(GroupLayout.java:1038)
at javax.swing.GroupLayout.preferredLayoutSize(GroupLayout.java:857)
at java.awt.Container.preferredSize(Container.java:1581)
at java.awt.Container.getPreferredSize(Container.java:1566)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1634)
at javax.swing.JRootPane$RootLayout.preferredLayoutSize(JRootPane.java:903)
at java.awt.Container.preferredSize(Container.java:1581)
at java.awt.Container.getPreferredSize(Container.java:1566)
at javax.swing.JComponent.getPreferredSize(JComponent.java:1634)
at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:702)
at java.awt.Container.preferredSize(Container.java:1581)
at java.awt.Container.getPreferredSize(Container.java:1566)
at java.awt.Window.pack(Window.java:688)
at fmimonitor.FmiLogin.initComponents(FmiLogin.java:109)
at fmimonitor.FmiLogin.(FmiLogin.java:28)
at fmimonitor.FmiLogin$1.run(FmiLogin.java:152)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Comentarios: