"응용 프로그램의 VM 인스턴스"에 들어가는 Java Agent를 사용하여 jnlp 응용 프로그램에서 일부 작업을 자동화 한 다음 내 Swing GUI의 새 인스턴스를 만듭니다 자동화를위한 클래스).Java 에이전트를 사용하여 JNLP 응용 프로그램 자동화
잘 작동하고, 프레임의 구성 요소에 액세스 할 수 있습니다. 문제는 내 GUI가 "애플릿"으로 실행되어 내 GUI 모서리에 노란색 짜증나는 삼각형을 제공하고 파일 액세스와 같은 내 사용 권한도 차단한다는 것입니다.
JNLP 파일에 JNLP의 설정이 <application-desc main-class="x"/>
이므로 애플릿으로 실행되지 않습니다.
스윙 GUI를 애플릿이 아닌 애플리케이션으로 실행할 수 있습니까? JavaAgent
public class FrameSearcherAgent {
public static void agentmain(String args) {
Frame[] frames = Frame.getFrames();
for(Frame f: frames)
{
if(f.getTitle().equals("Frame Title")){
//Parameter is the Frame I want
new JFrameAutomateGUI(f).setVisible(true);
break;
}
}
}
}
하지만 문제가 있습니다. JNLP에서 응용 프로그램을 실행하지 않습니다 ... 프로세스는 다음과 같습니다. 두 개의 jar; 첫 번째는 모든 VirtualMachines (VirtualMachine.getlist)를 반복하고 내 에이전트 (VM.loadAgent)를 자동화하고로드하려는 응용 프로그램의 VM (VirtualMachine.attach)에 연결하는 "injector"입니다. 두 번째는 위의 코드 (내 게시물에서)와 GUI 클래스를 가진 에이전트입니다. 내 에이전트는 이제 VM 내부에서 실행되며 간단한 "새 JFrame()"으로 GUI를 시작합니다. 따라서 JNLP가 없기 때문에 JNLP에서 "모든 권한"을 요청할 수있는 방법이 없습니다. – Bruno
커스텀'SecurityManager'를 설치해야 할 수도 있습니다. –