Tartalomjegyzék
Java applet
- Szerző: Sallai András
- Copyright © 2011, Sallai András
- Licenc: CC BY-SA 4.0
- Web: https://szit.hu
Bevezetés
Az applet egy az Internetes böngészőben futó kisalkalmazás. A böngészőnek alkalmasnak kell lenni a Java futtatására.
Az alábbi oldalon tesztelheti, hogy alkalmas-e a böngészője a Java futtatására:
Helló Világ szerű program
Java applet
A következőkben a Java applet megvalósítás három módját fogjuk látni. Kiindulásnak bármelyik jó.
A hellóvilág nevű program egyetlen címkével:
- ap.java
import javax.swing.*; import java.applet.Applet; public class ap extends Applet { JLabel cimke; public ap() { setLayout(null); cimke = new JLabel("Helló Világ"); cimke.setBounds(100,100, 300,30); add(cimke); } }
Az Swing csomag összes osztályát használhatjuk.
Vagy:
A HellóVilág nevű program rajzolt szöveggel:
- ap.java
import java.awt.Graphics; import java.applet.Applet; public class ap extends Applet { public void paint(Graphics g) { g.drawString("Szöveg", 50, 120); } }
Az awt tartalmazza a Grapics osztályt a rajzoláshoz. Az applet tartalmazza az Applet osztályt, amely alapvető funkciókat tartalmaz az applet készítéshez.
Vagy:
- ap.java
import javax.swing.*; public class ap extends JApplet { JLabel cimke; public ap() { setLayout(null); cimke = new JLabel("Első applet"); cimke.setBounds(100,100,300,30); add(cimke); } }
Az utóbbi esetben az applet csomag Applet osztálya helyett a swing csomag JApplet-jét használtuk.
Fordítás:
javac ap.java
HTML-be ágyazás
HTML-be ágyazás HTML 4.01 verzióval
A HTML 4.01 verzióval használható az applet elem is.
<applet code=ap.class width="300" height="150"> </applet>
Megtekintése
appletviewer index.html
A böngészővel is megtekinthető, de változtatás után nem frissül még a Ctrl + F5 hatására sem. Csak a böngésző újraindítása után láthatók a frissítések, ezért használjuk a appletviewer programot.
Paraméterek object elemnél
<object type="application/x-java-applet" height="300" width="550"> <param name="code" value="Sample" /> <param name="archive" value="Sample.jar" /> <param name="java_arguments" value="-Djnlp.packEnabled=true"/> Az applet futtatása sikertelen Nem találok Java plug-int. </object>
Színezés
Szöveg színezése:
g.setColor(Color.green); g.drawString("Szöveg", 50, 120);
Saját szín:
Color myRed = new Color(175, 0, 0); g.setColor(myRed.darker());
Fontok használata
Alakzatok
Téglalap:
g.fillRect(10, 10, 280, 130);
Az alakzat előtt hasznáhatjuk:
g.setColor(Color.black);
Kör:
g.fillRect(0,0,100,100);
Ovális:
g.fillOval(xpos,5,90,90);
Kép
Esemény
- ap.java
import java.awt.*; import java.applet.*; import java.awt.event.*; public class ap extends Applet implements ActionListener { Button gomb1; String s; public void init() { setLayout(null); // Ez után használhatjuk a setBounds metódust. gomb1 = new Button("Valami"); gomb1.setBounds(20,20,100,30); gomb1.addActionListener(this); add(gomb1); } public void actionPerformed (ActionEvent e){ if(e.getSource() == gomb1) s = "alma"; repaint(); } public void paint (Graphics g) { g.drawString("Eredmény: " + s, 50, 80); } }
Írás fájlba
- Program.java
import java.awt.*; import java.applet.*; import java.io.*; import java.awt.event.*; public class Program extends Applet implements ActionListener { Button mentesGomb; TextField nevMezo; public void init() { setLayout(new FlowLayout()); mentesGomb = new Button("Ment"); nevMezo = new TextField(35); add(mentesGomb); add(nevMezo); mentesGomb.addActionListener(this); } public void actionPerformed(ActionEvent evt) { if (evt.getSource() == mentesGomb) { String s = nevMezo.getText(); System.out.println("Eredmény: " + s); try { File f = new File("adat.txt"); FileWriter kifolyam = new FileWriter(f, true); PrintWriter kimenet = new PrintWriter(kifolyam); kimenet.println(s); kimenet.close(); } catch(IOException e) { System.out.println("Hiba a fájlba írás közben!"); } } } /* actionPermormed */ }
- index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 //EN"> <html> <head> <title>Sablon</title> <meta http-equiv="content-type" Content="text/html; charset=iso-8859-2"> </head> <body> <h1>Írás fájlba</h1> <applet code="ap.class" width=800 height=600 > </applet> </body> </html>
- Program.plicy
grant { permission java.io.FilePermission "<<ALL FILES>>","write"; };
Megtekintés:
appletviewer -J-Djava.security.policy=Program.policy index.html
A policy fájl persze lehet egyszerűen egy polifile nevű állomány is kiterjesztés nélkül.
Ide vonatkozó linkek
Függelék
Java telepítése Debian GNU/Linux alatt
wget http://valahol/valamilyen_javacsomag.tar.gz
Java plugin telepítése Chrome és Firefox alatt
Keressük meg hova telepítettük a Java-t.
mkdir /opt/google/chrome/plugins
ln -s /usr/local/jdk1.7.0_05/jre/lib/i386/libnpjp2.so /opt/google/chrome/plugins/
chrome://plugins