Frage

In einer Java-Anwendung (JRE 1.5.0_12) auf Windows XP, rufe ich eine native Methode:

public native int attachImage( ... );

...was lebt in einer Visual C++ 6.0 .dll.Es zeigt eine Anwendung-modales Fenster.Problem ist, das die Anwendung tray-icon reagiert nicht auf Mausklicks, während dieses Fenster den Fokus hat.Dies ist ein Problem, weil, wenn dieses Fenster angezeigt wird, die Benutzer oft zu einer anderen Anwendung wechseln, wählen Sie das Bild zu befestigen, dann wiederherstellen möchten diese Anwendung.

War es hilfreich?

Lösung

Welche GUI-Paket verwenden Sie?

Sie sollten in der Lage sein, um dies zu implementieren, ohne auf die JNI-Aufrufe.

Zum Beispiel, in SWT, können Sie öffnen eine Anwendung, modal-Schale wie diese:

Shell shell = new Shell(display,SWT.APPLICATION_MODAL);

Für swing, wäre dies:

dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);

Andere Tipps

Hat Ihr attachImage Methode nicht richtig eingestellt das übergeordnete Fenster, um Ihre java-Anwendung Fenster?Immer ein hwnd dafür kann sein, tricky (GetForegroundWindow/etc?) aber es könnte notwendig sein?

Auch, warum ist das Bild Teil werden müssen JNI?das könnte uns helfen, finden Sie eine Lösung, die vermeidet, dass die JNI Teil zusammen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top