개발

애프릿과 자바스크립트 연동

에드몽단테스 2007. 7. 27. 15:52
1. 자바스크립트에서 애플릿 메소드 호출
스크립트에서 애플릿의 메소드를 호출하는 것은 간단하다.
그냥 애프릿의 메소드를 호출하면 된다.







click




import java.applet.*;
import javax.swing.*;

public class MyApplet extends JApplet{
  private JTextField tf;

  public void init(){
    JPanel contentPane = (JPanel)getContentPane();
    tf = new JTextField();
    contentPane.add(tf);
  }

  public void applet_method(String str){
    if(str != null)
      tf.setText(str);
  }
}

위의 html은 'click' 이라는 링크를 클릭하면 애플릿의 메소드가 호출되어 JTextField 안에 '애플 릿메소드 호출' 이라는 문자열이 출력된다.

2. 애플릿에서 자바스크립트의 메소드를 호출하기
애프릿에서 자바스크립트를 호출하는 것은 좀 어렵다.
우선 netscape.jar 를 라이브러리를 사용해야하기 때문에 컴파일시 주의를 기울여야한다.
클래스패스잡기 위해서는 클래스 패스가 지정되어 있는 디렉토리에 위의 jar 파일을 놓거나 아니면 컴파일시 -classpath 옵션을 사용해야 한다.

애플릿에서 자바스크립트를 호출하기 위해서는 html 내에 애플릿을 호출하는 부분에 MAYSCRIPT 가 추가되어야 한다.







MAYSCRIPT>

 




import java.applet.*;
import javax.swing.*;

import netscape.javascript.*;

public class MyApplet extends JApplet{
  private JTextField tf;

  public void init(){
    JSObject window = null;
    JSObject document = null;
    window = JSObject.getWindow(this);
    document = (JSObject)window.getMember("document");
    String[] args = {"computer"};
    window.call("setText", args); 
  }
}

JSObject 의 객체로 call()함수를 통해 자바스크립트를 호출할 수 있으며, 문자열의 배열값으로 파라메터를 넘겨줄 수 있다.

netscape 패키지 내려받기 :
반응형