call javascript from applet
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/
call applet public method from javascript
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/
applet library location
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.
tinggalkan komentar