Tartalomjegyzék

< Java

Java applet

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

index.html
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Java applet test</title>
</head>
<body>
 
<h1>Java applet test</h1>
 
<object type="application/x-java-applet" width="800" height="600">
	<param name="code" value="ap"/>
	<param name="codebase" value="."/> 
 
</object>
 
 
</body>
</html>

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

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

ap.java
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

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