2012-05-07 4 views
2

애플릿에서 애플릿을 포함하는 창을 Window 객체로 가져올 수 있습니까?애플릿이있는 창

내 목표는 '웹 사이트'콘텐츠의 스크린 샷을 만드는 것입니다.
는 내가 Robot 객체와이 만들려고 :

Window window = ??? 
BufferedImage bufferedImage = new Robot().createScreenCapture(window.getBorder()); 

브라우저의 테두리 나는 창 개체로이 필요한 이유입니다 얻으려면.

아니면 다른 방법이 있을까요?

+1

왜 필요한가요? 생각해 보니 왜 'JFrame'이 아닌 링크에서 시작된 애플릿 ('창'이 있습니까?) –

+0

Webapplication에 Applet을 사용하여 스크린 샷을 만들었습니다. 그래서 Robot Object를 사용하지만 그 때문에 나는 Window의 직사각형이 필요하다 ... – Neifen

+0

... 내가 이해할 수있는 한 ComponentImageCapture는 HTML 내용이 아닌 Java 내용 만 캡처하므로 ...이 사용법을 모르거나 이것에 대한 JFrame (Sry는 질문이 아니었다.) – Neifen

답변

2

브라우저의 경계를 가져 오는 것이 내가 이것을 창 개체로 필요로하는 이유입니다.

그림 JavaScript로하는 방법. 애플릿에서 JavaScript를 호출하십시오.

이렇게하는 것이 유일한 방법은 아니지만 틀림없이 가장 좋습니다. JS가 웹 페이지와 상호 작용하는 데 특히 유익한 유형의 JS를 사용합니다. JS에서 작업하고 디버깅하도록하면, 애플릿에서 function을 호출하는 것은 상대적으로 간단한 문제입니다.

+0

애플릿 창 외부의 정보에 액세스 권한을 부여하는 항목은 애플릿에 서명하지 않으면 보안이 제한됩니다. – peterk

+0

@peterk 사실이 아닙니다. sandboxed 애플릿은 같은 페이지의 다른 애플릿에 액세스 할 수 있습니다. 'MAYSCRIPT'를 선언 한 샌드 박스 애플릿은 페이지에서 JS를 호출 할 수 있습니다. JS가 결정할 수있는 모든 것이 애플릿에서 사용할 수 있습니다. –

+0

"페이지 창"밖의 모든 것에 액세스 할 수 없으므로 내부 경계를 넘을 수 있습니다. 내 컨텍스트 인 팝업 응용 프로그램에서 작업 할 때 :) – peterk