Java Applet ‘ten Javascript erisimi

Ahbap

Harbi Üye
Forum Üyesi
Katılım
29 Mayıs 2019
Mesajlar
8,562
Tepkime puanı
2
Uygulamaların kullanıcı (client) tarafında çalışacağı durumlarda çoğu kişi applet ile çözüm bulur. Bu gibi durumlarda verilerin appletten javascript e aktarılması gibi bir istek doğması çok normaldir. Böyle bir durumu örneklemeye çalışacağım.

Appletten javascript e erişmek istediğimizde, JSObject kütüphanesini kullanmaktayız. Bu kütüphaneye “netscape.javacript.JSObject” yolunda ulaşmak mümkündür. Fakat bu kütüphaneye classpath ten direk erişmek mümkün değildir, windows kullanıcıları için,

C:\Program Files\Java\jre\lib\plugin.jar

linux kullanıcıları için Open-jdk yüklediklerinde,

/usr/shared/icedtea-web/plugin.jar

manuel olarak jdk kurduklarında ise,

/opt/jdk/jre/lib/plugin.jar

yolundan erişilebilir. Bu kütüphaneyi projemize dahil ettikten sonra appletimizi oluşturmaya başlayabiliriz.
Applet için ben aşağıdaki gibi örnek bir kod yazdım, bu kodda applete bir buton ekledim, butona tıklandığında jsObject objesiyle javascript’e bir string değer gönderdim.


PHP:
import java.awt.FlowLayout; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JApplet; 
import javax.swing.JButton; 
import javax.swing.JTextArea; 
import netscape.javascript.JSObject; 
 
public class AppletToJavascript extends JApplet implements ActionListener{ 
    private static final long serialVersionUID = 1L; 
    JSObject jsObject; 
    JButton btnJavascript = null; 
    JTextArea textArea = null; 
    public void init(){ 
        this.setLayout(new FlowLayout()); 
        btnJavascript = new JButton("Javascript"); 
        btnJavascript.addActionListener(this); 
        this.add(btnJavascript); 
    } 
    public void actionPerformed(ActionEvent action){ 
        if(action.getSource() == btnJavascript){ 
            jsObject = JSObject.getWindow(this); 
            jsObject.call("callApplet", new String[]{"kodlapaylas.com"}); 
        } 
    } 
}


Applet sınıfını oluşturduktan sonra sıra HTML sayfasını oluşturmaya geliyor, bunun için ilk önce appleti html sayfasına gösteriyoruz ve html’den appleti kullanacak gerekli javascript kodunu yazıyoruz. Ben bu örnekte çok basit olarak şöyle bir şey yazdım;


PHP:
 <html> 
<script language="javascript"> 
    function callApplet(text){ 
        document.getElementById("deger").value = text; 
    } 
</script> 
<head> 
    <title>Applet Javascript Test</title> 
</head> 
<body> 
        <div> 
            <applet width="150" height="50" code="com.wordpress.erenbasaran.AppletTest.AppletToJavascript" 
 archive="applet1.jar, plugin.jar"> 
                <param name="mayscript" value="true" /> 
            </applet> 
            <input type="textarea" id="deger" rows="20" cols="80"/> 
        </div> 
    </body> 
    </html>


Bunların ardından oluşturduğumuz internet sayfasını çalıştırdığımızda, applette oluşturduğumuz buton gelecektir. Bu butona tıkladığımızda ise html sayfasında oluşturduğumuz textarea ya applet kodunda yazdığımız string verisi yazacaktır.
 

Benzer konular

Nutella

Harbi Üye
Bayan Üye
Özel Üye
Katılım
2 Ocak 2021
Mesajlar
9,432
Tepkime puanı
8
Cinsiyet
  1. Bayan
Takım
Galatasaray
Paylaşım için teşekkürler.
 
İçerik sağlayıcı "paylaşım" sitelerinden biri olan Harbimekan.Com Forum, Eğlence ve Güncel Paylaşım Platformu Adresimizde 5651 Sayılı Kanun’un 8. Maddesine ve T.C.K’nın 125. Maddesine göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. Harbimekan.Com sitesindeki konular yada mesajlar hakkında yapılacak tüm hukuksal Şikayetler için info@harbimekan.com yada iletişim sayfası üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 3 Gün (72 Saat) içerisinde Forum yönetimi olarak tarafımızdan gereken işlemler yapılacaktır.

Bu Site, Bilim ve Sağlık Haber Ajansı Üyesidir.

Yığıntı - 8kez - kaynak mağazam - Uğur Ağdaş