devprg

call javascript from applet

Posted in Applet, Java, Javascript by devprg on 08.07.2009

Kunci melakukan hal ini adalah class : ‘netscape.javascript.JSObject‘. Class ini terdapat dalam ‘plugin.jar‘.

Berikut script yang terdapat di JSP/JSPX/HTML:


function calledByJava()
{
    alert("should be calledByJava");
}

Berikut code dalam applet yang melakukan pemanggilan:


private void btnLiveConnectActionPerformed(ActionEvent evt) {
    /*
    * objective, dari sini bisa memanggil ADF event
    */
    JSObject window = JSObject.getWindow(this);
    window.eval("calledByJava();");
}

Telah dicoba dan berhasil di Internet Explorer 6, Firefox 3.5, Opera 9.64

reference : https://jdk6.dev.java.net/plugin2/liveconnect/

Tagged with: , , ,

call applet public method from javascript

Posted in Applet, Java, Javascript by devprg on 07.07.2009

Berikan ini potongan code applet (Java)

public class LiveConnectLabApplet extends javax.swing.JApplet
{
public void doTrigger()
{
// ... ...
}
}

Berikut ini definisi applet di jsp/jspx/html:

<applet id="LiveConnectApp" name="LiveConnectApp" archive="printpdf.jar"  code="pdfrendererlab.LiveConnectLabApplet" codebase="../commonapplet/" height="256" width="256" mayscript="mayscript">

</applet>

Pemanggilan method public applet dengan javascript berikut hanya bekerja di Internet Explorer 6 :

<script type="text/javascript">
function callJavaTrigger()
{
LiveConnectApp.doTrigger();
}
</script>

Dengan sedikit perubahan method diatas bisa berjalan di Firefox 3.5 dan Opera 9.65 :

<script type="text/javascript">
function callJavaTrigger()
{
document.applets.LiveConnectApp.doTrigger();
}
</script>

Hanya penambahan ‘document.applets.’.. aaarrgh.. bikin pusing aja…!!

reference : https://jdk6.dev.java.net/plugin2/liveconnect/

Tagged with: , ,

applet library location

Posted in Applet, General Web App, Java by devprg on 06.07.2009

dimanakah menempatkan library (JAR) yang digunakan oleh applet? apakah harus diletakkan dalam WEB-INF/lib seperti umumnya jar untuk aplikasi web lain?

Perhatikan perbedaan ini : Servlet dieksekusi di server. Applet dieksekusi di client. Karena servlet dieksekusi di server, maka servlet bisa mengakses library yang terdapat di WEB-INF/lib.

WEB-INF/lib memiliki sifat tidak bisa diakses dari luar web aplikasi. Oleh karena applet dianggap sebagai aplikasi client, maka applet tidak bisa mengakses library yang ada di WEB-INF/lib. Oleh karena itu, library JAR untuk applet diletakkan di folder biasa seperti file JSP/JSPX lainnya.

Ikuti

Get every new post delivered to your Inbox.