2010-04-17 4 views
1

PollFrame.java라는 파일에서 JFrame을 확장하는 PollFrame이라는이 클래스가 있습니다. PollFrame에는 양식이 포함되어 있습니다. 애플릿이 있는데 버튼이 있습니다. 버튼을 클릭하면 PollFrame이 표시됩니다. 나는로의 actionPerformed을 설정애플릿에서 JFrame을 표시하는 방법은 무엇입니까?

Pollframe poll = new PollFrame(); // This initializes the form 
poll.setVisible(true); 

그러나, 나는 버튼을 클릭하면, 나는 다음과 같은 오류 얻을 :

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied (java.lang.RuntimePermission exitVM.0) 
    at java.security.AccessControlContext.checkPermission(Unknown Source) 
    at java.security.AccessController.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkPermission(Unknown Source) 
    at java.lang.SecurityManager.checkExit(Unknown Source) 
    at javax.swing.JFrame.setDefaultCloseOperation(Unknown Source) 
    at com.org.pollFrame.initComponents(pollFrame.java:54) 
    at com.org.pollFrame.<init>(pollFrame.java:11) 
    at com.org.EmployeeApplet.requestRoomActionPerformed(EmployeeApplet.java:216) 
    at com.org.EmployeeApplet.access$300(EmployeeApplet.java:7) 
    at com.org.EmployeeApplet$4.actionPerformed(EmployeeApplet.java:71) 
    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) 
    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) 
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source) 
    at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source) 
    at java.awt.Component.processMouseEvent(Unknown Source) 
    at javax.swing.JComponent.processMouseEvent(Unknown Source) 
    at java.awt.Component.processEvent(Unknown Source) 
    at java.awt.Container.processEvent(Unknown Source) 
    at java.awt.Component.dispatchEventImpl(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) 
    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) 
    at java.awt.Container.dispatchEventImpl(Unknown Source) 
    at java.awt.Component.dispatchEvent(Unknown Source) 
    at java.awt.EventQueue.dispatchEvent(Unknown Source) 
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source) 
    at java.awt.EventDispatchThread.run(Unknown Source) 

내가 애플릿에서 다른 클래스 파일을 호출하는 것을 오류 위에 그가 fromt 추측 오전 금지. 애플릿에서 PollFrame을 표시 할 수있는 방법이 있습니까? 당신은 보안 예외

당신은 확실히 애플릿에서 다른 클래스를 호출 할 수 있지만 일부 작업은 예를 들어, 제한을 제기하여 JFrame의에 setDefaultCloseOperation()를 호출하는 것처럼

답변

2

보인다. 로컬 파일을 열 수없고 다른 컴퓨터와의 연결을 열 수 없습니다.

+0

예. 그것은 효과가 있었다. setDefaultCloseOperation (...) 및 setAlwaysOnTop (...)을 제거하고 JFrame을 표시합니다. 그런데 왜 이런 일이 일어 났습니까? 그 기능을 설정하는 데있어 잘못된 것이 무엇입니까? – mithun1538

+0

내 생각 엔 애플릿을 실행할 때 VM을 종료하는 것과 같은 일부 작업은 브라우저 플러그인에서만 처리해야한다는 것입니다. – Guillaume

1

PollFrame.java라는 파일에서 JFrame을 확장하는 PollFrame이라는이 클래스가 있습니다. PollFrame에는 양식이 포함되어 있습니다. 애플릿이 있는데 버튼이 있습니다. 버튼을 클릭하면 PollFrame이 표시됩니다. 그것은 별도의 VM이 때문에

applet.showDocument("PollFrame.jnlp", "_blank"); 

PollFrame.jnlp에 의해 시작 프레임은 여전히 ​​모래-박스하면서 좋아하는 어떤 기본 닫기 작업을 호출 할 수 있습니다 :

이 하나의 라이너입니다. '항상 맨 위에'있으려면 신뢰할 수 있어야합니다 (그리고 나서 다른 앱과 함께 싸워야합니다.)

관련 문제