2011-01-28 4 views
0

애플릿 클래스에서 선언 된 일부 함수는 어떻게 사용할 수 있습니까? 즉브라우저의 애플릿

이 내 수업

public class hi extends JApplet{ 

public void HiThere(){ 
    System.out.println("Hi on Java Console"); 
} 

} 

하고 브라우저에이 같은 선언 것 :

<applet.... name="HI" id="HI" ......>Ooops!!!</applet>" 

을하지만이 기능을 사용하려고 할 때이 실수했다, 그래서이 사용하는 방법 내 애플릿 클래스에 선언 된 함수 ?? 감사!!!

+0

어디 당신이 기능을 사용 하시겠습니까? 자바 스크립트에서? – spgodara

답변

1

먼저 코드에이 변경을 수행해야합니다

공용 클래스 HI는 JApplet에 확장 {

공공 HI() {에서 System.out.println ("안녕 Java 콘솔에");} 당신이 그 짓을하고 브라우저가 여전히 오류가

}

, 여기에 정확한 오류 메시지를 게시 할 수 있습니다. 또한 자습서 "Java 애플릿 시작 프로그래밍"을 찾아야 할 수도 있습니다. 코드에서 알 수 있듯이 현재 수행중인 작업을 알지 못하는 것입니다.

1

당신이 당신의 컴파일 된 내용으로 .jar 또는 .class, 메인 클래스의 패키지와 따라 예에서와 같은 다른 매개 변수를 (객체가 IE위한 지정 HTML에 <object>를 선언해야합니다 JS에서 클래스 메소드를 호출하기 위해서 FF30 임베디드 임) :

질문에 정의 된대로 hi.HiThere() 메서드를 호출한다고 가정합니다.

<object 
width="100" height="100" id="hi"> 
<param name = "code" value = "path.to.your.main.class.hi"> 
<param name = "archive" value = "jar location"> 
<param name = "mayscript" value = "true"> 
<param name = "scriptable" value = "true"> 
... 
    <comment> 
     <embed 
      code = "path.to.your.main.class.hi" 
      archive = "your jar location" 
      scriptable = "true" 
      width = "100" height = "100" 
      name = "hi" 
      ... 
     </embed> 
</comment> 
</object> 

그런 다음 JS에서 당신은 샘플의 경우 document.hi<embed><object> 또는 nameid 속성을 사용하여 document 통해 개체에 액세스 할 수 있습니다. 추적 코드를 사용하면 HiThere(); 메소드를 호출 할 수 있습니다 : 마지막으로 자바 버전을 실행하기 위해

try{ 
    // ie, ff 
    document.hi.HiThere(); 
}catch(Exception){ 
    // chrome, safari, opera 
    document.hi[1].HiThere(); 
} 

새로운 자바 보안 요구 사항 (매니페스트 속성 http://docs.oracle.com/javase/tutorial/deployment/jar/manifestindex.html, 항아리 서명을 ...)을 만족해야합니다.

0

당신은 자바 스크립트에서 애플릿의 메소드를 호출 할 수 있습니다

이 애플릿을 수행하려면 자바 스크립트에서 실행되어야한다, 예를 들어, 애플릿이 ID로 자바 스크립트에서 시작됩니다이 경우

<script src="https://www.java.com/js/deployJava.js"></script> <script> var attributes = { id: 'mainApplet', code: 'org.jazzteam.Example', archive: 'example.jar', width: 812, height: 635}; var parameters = {}; deployJava.runApplet(attributes, parameters, '1.7'); function actionInApplet(url) { mainApplet.appletMethod(url); } </script> 

= 'mainApplet'
. 애플릿에는 appletMethod() 메소드가 있습니다.이 메소드를 호출하고 싶습니다. 이렇게하려면 id라는 이름의 JavaScript 객체와 관련된 메소드를 호출해야합니다. 이 예제에서와 같이 호출 된 메서드에 매개 변수를 전달할 수도 있습니다.

또한 JavaScript에서 호출 된 애플릿 메서드는 권한이 있어야한다는 것을 알아야합니다.이렇게하려면 다음 "래퍼"의 방법 코드를 포장해야합니다

AccessController.doPrivileged(new PrivilegedAction() { 
    public Object run() { 
     //method code 
     return new Object(); 
    } 
}); 

이 정보는 기사에서 가져온 것입니다 : Frequently Asked Questions during Java applet development