문제

Windows XP의 Java 응용 프로그램 (JRE 1.5.0_12)에서는 기본 방법을 호출합니다.

public native int attachImage( ... );

... 시각적 C ++ 6.0 .dll에 사는 ... 응용 프로그램 모달 창이 표시됩니다. 문제는 응용 프로그램의 트레이 아이콘이 Mouseclicks에 응답하지 않고이 창에 초점을 맞추는 것입니다. 이 창이 표시되면 사용자가 종종 다른 응용 프로그램으로 전환하여 첨부 할 이미지를 선택한 다음이 응용 프로그램을 복원하려고하기 때문에 문제가됩니다.

도움이 되었습니까?

해결책

어떤 GUI 패키지를 사용하고 있습니까?

JNI 통화에 의지하지 않고도이를 구현할 수 있어야합니다.

예를 들어, SWT에서는 다음과 같은 응용 프로그램 모달 쉘을 열 수 있습니다.

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

스윙의 경우 : 이것은 다음과 같습니다.

dialog.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);

다른 팁

ATTHIMAGE 메소드가 부모 창을 Java 응용 프로그램 창으로 올바르게 설정하지 않습니까? 이를 위해 HWND를 얻는 것은 까다로울 수 있지만 (Getforegroundwindow/etc?) 필요할 수 있습니까?

또한 이미지 부분이 JNI 여야하는 이유는 무엇입니까? JNI 부분을 완전히 피하는 솔루션을 찾는 데 도움이 될 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top