[[oktatas:programozás:java|< Java]] ====== Java applet ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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: * http://java.com/en/download/testjava.jsp ===== 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: 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: 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: 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 ==== Java applet test

Java applet test

==== HTML-be ágyazás HTML 4.01 verzióval ==== A HTML 4.01 verzióval használható az applet elem is. ==== 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 ==== Az applet futtatása sikertelen Nem találok Java plug-int. ===== 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 ===== Font myFont = new Font("Helvetica", Font.BOLD, 32); g.setFont(myFont); ===== 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 ===== import java.awt.*; import java.applet.Applet; public class ap extends Applet { Image kep; public void init() { kep = getImage(getDocumentBase(), "kep.png"); } public void paint(Graphics g) { g.drawImage(kep, 100, 100, this); } } ===== Esemény ===== 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 ===== 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 */ } Sablon

Írás fájlba

grant { permission java.io.FilePermission "<>","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 ==== * http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html * http://www.exampledepot.com/egs/java.security/File.html * http://stackoverflow.com/questions/6099661/java-policy-file-and-local-applet ===== 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