windowslookandfeel plaf java macos swing

plaf - java swing themes



ConfiguraciĆ³n del nombre de la aplicaciĆ³n Java Swing en Mac (2)

Debería hacer lo siguiente durante la inicialización de la aplicación, antes de crear la GUI:

// take the menu bar off the jframe System.setProperty("apple.laf.useScreenMenuBar", "true"); // set the name of the application menu item System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName"); // set the look and feel UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

ACTUALIZAR. El código anterior funciona en Java 1.5, este código puede no funcionar en 1.6

Para nuevo java ver documentation :

  1. -Xdock:name propiedad de línea de comando -Xdock:name : - Xdock:name=YourAppName
  2. O establezca CFBundleName en el archivo de lista de propiedades de información (plist)

Estoy escribiendo una aplicación Java Swing para Mac usando Java 1.6. He leído una serie de tutoriales que le explican cómo integrar mejor su aplicación Java con OS X, pero hay una cosa en la que no he podido trabajar. No puedo ver el nombre de la aplicación (el primer elemento del menú en negrita en la barra de menú de Mac) para mostrar. De forma predeterminada, se muestra el nombre de clase completamente calificado de la clase principal y no puedo hacer que cambie.

Este sitio dice que tienes que configurar la siguiente propiedad:

System.setProperty("com.apple.mrj.application.apple.menu.about.name", "AppName");

Pero eso no funciona (estoy ejecutando 10.6, ¿quizás el nombre de la propiedad cambió?).

Cuando creo un nuevo proyecto Java en XCode (normalmente uso Eclipse), ¡el nombre de alguna manera se establece mágicamente! (te inicia con una aplicación de placa de calderas ejecutable) He buscado en todo el proyecto XCode para ver cómo se hace esto, ¡pero no puedo resolverlo!

Mi conjetura es que solo establece el nombre de la aplicación si envuelve su aplicación Java en un paquete Mac * .app, pero se preguntaba si alguien sabía la respuesta. Gracias.

EDITAR : Es interesante que establece el nombre de la aplicación si empaqueté mi aplicación en un archivo JAR ejecutable, pero no si lo ejecuto desde Eclipse.


En Mac 10.7.5, la configuración programática de la propiedad funcionó con Java 1.6 pero no con Java 1.7