2011-02-09 7 views
2

다른 응용 프로그램의 창을 프로그램 방식으로 크기를 조정 (및 변경)하는 방법은 무엇입니까? Java로 코딩하고 싶습니다. JVM에서 생성 한 창뿐만 아니라 모든 창 크기를 조정하고 싶습니다. Windows XP를 사용하고 있습니다. 더 많은 옵션이있는 경우 해당 창의 다른 속성을 변경하고 싶습니다. 댓글 후프로그래밍 방식으로 창 크기를 조정하고 창의 위치를 ​​변경하려면 어떻게합니까?

추가 정보 :

Q : 왜 그렇게 하시겠습니까? A : Windows에 여러 개의 디스플레이에서 창을 이동하는 기능이 없습니다. 입니다. WinSplit Revolution 9.02를 사용해 보셨습니까? 단지 몇 번의 버튼 누름으로 몇 가지 뛰어난 기능을 가지고 있습니다. 마우스를 잡을 필요가 없습니다.

+0

아이디어가 있으십니까? 어쩌면 코드를 볼 수 있도록 오픈 소스 자바 프로젝트를 본 적이 있습니까? – ViliusK

+1

java를 사용하여 다른 응용 프로그램을 제어 할 수 없지만 직접 작성한 창을 제어 할 수는 있습니다. –

+1

** 처음에는 **에서 ** 로의 마이그레이션을 본 적이 있습니다. –

답변

1

순수 자바에 자신의 것이 아닌 창을 사용하는 유일한 방법은 java.awt.Robot입니다. 그러나 목표를 위해 유용한 API를 제공하지 않으므로 캡쳐 화면을 작성하고 결과를 분석 한 다음 그에 따라 마우스를 배치, 누름, 이동 및 해제 할 수 있습니다. 따라서 인간 사용자와 동일하게 수행하십시오.

자세한 내용을 보려면 시스템 관련 정보를 얻어야합니다. Windows API와 X 프로토콜 (X 클라이언트 라이브러리)은 적어도 다른 프로그램 창에 대한 정보를 얻을 수있는 기능을 제공한다고 생각합니다. 변경하는 방법에 대해서는 알지 못합니다. (Mac OS에도 이와 같은 기능이 있다고 가정합니다.)

일반적으로이 기능의 기본 사항은 C (또는 해당 라이브러리에 액세스하는 다른 언어)로 작성한 후 JNI를 사용하여 액세스합니다. 자바. 또한 JNI 단계를 생략하기 위해 JNA (Java Native 액세스)와 같은 JNI 랩핑 라이브러리를 사용할 수도 있습니다.

관련 문제