Agregar elemento al menú del sistema de Windows sin winapi

Estoy buscando si es posible agregar un elemento ("acerca de" la aplicación) en el menú del sistema Winwdows de la actual JFrame.

Como se sugiere en esa respuesta, sé que podría ser posible ajustar el menú a través de JNI / JNA y la API de Windows GetSystemMenu(), pero estoy buscando si es posible en Java / Swing simple.

He encontrado algo que dice que debería ser posible en ese hilo del foro :

esto antes de crear un JFrame

JFrame.setDefaultLookAndFeelDecorated (verdadero);

luego, antes de agregar algo al marco, itere los componentes del marco, buscando el JMenu. Cuando lo encuentre, agregue su menú 'acerca de'

Acabo de probar, funciona bien.

Por desgracia, no se proporciona un espacio completo, y no logré que funcione en mi código. Al señalar puntos justo después de la creación de Windows antes de agregar los componentes, veo que no JMenu. Ni en el primer nivel ( JRootPane) ni en los componentes incrustados sucesivamente ( JPanel, JLayeredPane).

Si es importante, estoy tratando con Java 6/7 en WinXP y Win7, la ventana se crea como una new JFrame("some title")y estoy usando la apariencia nativa UIManager.getSystemLookAndFeelClassName().

Respuesta 1

He convertido un proyecto Maven en un jar y ahora, estoy tratando de importar este Jar a la biblioteca de un nuevo proyecto no Maven. Traté de escribir el método principal por mi cuenta para llamar al tarro Maven ...

Al escribir el código de la base de datos, generalmente evito que se produzca una excepción ConstraintViolationException al verificar los registros antes de actualizar o insertar. No espero una ContraintViolationException para ...

Tengo mi aplicación implementada en un clúster con dos servidores. Cuando configuro cualquier atributo usando: this.getServletContext (). SetAttribute ("test", testObj); ¿El atributo testObj con prueba clave será ...

Tengo que: - Leer un archivo de texto grande línea por línea. Anote la posición del puntero del archivo después de cada línea leída. Detenga la lectura del archivo si el tiempo de ejecución es superior a 30 segundos. Reanudar desde el último archivo anotado ...