2012-05-02 14 views
5

¿Alguien sabe cómo editar los menús que se muestran en el esqueleto creado por la plataforma Netbeans?Plataforma y menús de Netbeans

Gracias de antemano por el tiempo que pasará tratando de ayudarme.

+0

¿Quiso decir GUI Form Examples? –

Respuesta

11

Preámbulo: la única manera de editar elementos de menú que están presentes en la plataforma es a través de uno de sus propios módulos. Esto significa que, para eliminar o renombrar un elemento de menú en otro módulo, primero debe agregar un módulo a su aplicación. Su aplicación no es en sí misma un módulo sino una colección (potencial) de módulos.

La forma más sencilla de editar los menús para una aplicación basada en la plataforma NB es el siguiente:

  1. En uno de sus módulos, expanda el Important Files nodo
  2. Expandir el nodo XML Layer (suponiendo que el módulo tiene un file¹ capa)
  3. Expandir la This layer in context nodo
  4. Expandir el nodo Menu Bar
  5. Haga clic derecho en cualquier menú (nodo de carpeta) o elemento de menú (nodo del archivo) y seleccione Delete

Esto agregará las entradas necesarias para los módulos de archivo de capa (entrada _hidden) y siempre y cuando este módulo se ha cargado éstos los menús y elementos de menú no se cargarán. Si desea restaurar un elemento en el futuro, puede eliminar la entrada del archivo de capa o hacer clic con el botón derecho en el elemento y seleccionar Restore.

Editar

Aquí es un método para cambiar el nombre de un elemento de menú:

  1. Utilizando la técnica de arriba para encontrar la entrada que desea cambiar el nombre
  2. Haga clic derecho en el nodo y seleccione "Ir a Declaración "
  3. Busque el atributo con un name de" SystemFileSystem.localizingBundle "
  4. O pluma interfaz de la marca de la aplicación (clic derecho en el nodo de la aplicación y seleccionar Branding...)
  5. Seleccione la pestaña Resource Bundles
  6. Busque el nodo de paquete que tiene el valor encontró en el paso 3

El nombre de la el elemento del menú se ubicará en este nodo de Bundle. Simplemente edítelo y se cambiará en su aplicación. La clave aquí es localizar el paquete en el que se nombra el elemento del menú.

Aquí es un método para la sustitución de la acción de un elemento de menú:

  1. Siga los pasos 1 y 2 del esquema anterior
  2. Una vez que ha llegado a la declaración, búsqueda (Ctrl + F) del mismo archivo para el valor originalFile (que sólo está buscando la declaración .instance) ²
  3. Una vez que haya encontrado el que se define la acción, copia la estructura de su archivo de capa
  4. delegate Usando el atributo que puede volver a definir lo que actio n se utiliza para este elemento de menú

El objetivo aquí es anular la definición de acción del elemento de menú en su archivo de capa, reemplazando la acción con la suya. También puede usar esta técnica para anular el nombre para mostrar de la acción, pero la técnica de Branding es más simple si no necesita reemplazar la acción también.


¹If su módulo no tiene un archivo de capa que necesita para crear una antes de poder utilizar esta técnica. Esto requiere que cree un archivo layer.xml en uno de los paquetes de su módulo. Luego hay que registrar este archivo en sus módulos archivo de manifiesto mediante la siguiente OpenIDE-Module-Layer: com/example/mymodule/layer.xml

²For este paso se puede resaltar el nombre .instance del valor del atributo originalValue y pulse Ctrl + F. Por ejemplo, si el valor del atributo originalValue es Actions/Window/org-netbeans-core-windows-actions-RecentViewListAction.instance desea resaltar solo la parte org-netbeans-core-windows-actions-RecentViewListAction.instance. El punto aquí es encontrar dónde se define la acción (esta parte del archivo de capa solo agrega la acción al menú).

+0

Pero, ¿cómo puedo editar un menú ya cargado, que es parte del esqueleto (el menú "navegar", por ejemplo)? – Zelig63

+0

¿Qué quieres decir con edit? ¿Deseas cambiarle el nombre o agregarle un artículo? –

+0

Me refiero a cambiar el nombre, suprimir o cambiar el código vinculado. – Zelig63

2

No estoy seguro de qué es exactamente lo que quiere hacer, pero el archivo layer.xml suele ser el lugar para realizar dichos cambios.

+0

Tengo una versión maven que no tiene un archivo layer.xml. Si este es el caso ¿necesito agregar un archivo layer.xml y dónde lo agregaría? FYI estoy usando la versión maven del NBP. – simgineer

4

Además de lo que ha sido muy bien explicado anteriormente, aquí es un simple truco para añadir su propio elemento de menú global sin mirar siquiera al contenido del archivo XML:

  1. En su árbol módulo de ir a buscar el archivo llamado layers.xml
  2. clic en el nodo layers.xml para desplegar sus hijos, estos son dos carpetas:
    • esta capa
    • esta capa en el contexto
  3. desplegar el "esta capa en el contexto" nodo y van a la subcarpeta Barra de menús
  4. haga clic derecho y agregar una nueva carpeta (nombre es Historial por ejemplo) dentro de Barra de menú. El nombre de esta nueva carpeta se utilizará como una categoría en los menús globales de su ventana principal de GUI.
  5. Para añadir un elemento de submenú a este menú global, haga clic derecho en el módulo, elija Nuevo-> acción acción y cuando se le preguntó para seleccionar el menú para colocar este submenú en, elija Historia.

PD: también se puede añadir una categoría a la barra de herramientas como lo hizo para la barra de menú . Gracias