Appletek készítése



ElsoApplet.java: írás és rajzolás grafikus felületen

az ElsoApplet.html kódja:

<HTML>
<HEAD>
<TITLE>Elsõ Applet</TITLE>
</HEAD>
<BODY BGCOLOR="aqua">
<APPLET CODE="ElsoApplet.class" WIDTH=400 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
import java.awt.*;
import java.applet.*;

public class ElsoApplet extends Applet {
 public void paint(Graphics g) {
  Color hatterszin=new Color(255,200,200);
  Color betuszin=Color.black;
  Font font=new Font("Courier",Font.BOLD,50);

  setBackground(hatterszin);
  g.setColor(betuszin);
  g.setFont(font);
  g.drawString("HELLÓ!",120,140);
  g.drawLine(120,160,290,160);
  g.drawLine(120,162,290,162);
  }
 }

1. variáció (ElsoAppletV1.java): téglalapok és ellipszisek kirajzolása

az ElsoAppletV1.html kódja:

<HTML>
<HEAD>
<TITLE>Elsõ Applet</TITLE>
</HEAD>
<BODY BGCOLOR="maroon">
<APPLET CODE="ElsoAppletV1.class" WIDTH=400 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
import java.awt.*;
import java.applet.*;

public class ElsoAppletV1 extends Applet {
 public void paint(Graphics g) {
  Color hatterszin=new Color(100,255,100);
  Color rajzoloszin1=Color.getHSBColor(3/6f,1f,1f);
  Color rajzoloszin2=Color.getHSBColor(3/6f,1/4f,1f);
  Color rajzoloszin3=Color.getHSBColor(5/6f,1f,1f);
  Color rajzoloszin4=Color.getHSBColor(5/6f,1f,3/4f);
  Color keretszin=Color.getHSBColor(0f,0f,0f);

  setBackground(hatterszin);
  g.setColor(rajzoloszin1);g.fillRect(50,50,100,100);
  g.setColor(keretszin);g.drawRect(50,50,100,100);
  g.setColor(rajzoloszin2);g.fillRect(150,150,100,100);
  g.setColor(keretszin);g.drawRect(150,150,100,100);

  g.setColor(rajzoloszin3);g.fillOval(170,50,100,70);
  g.setColor(keretszin);g.drawOval(170,50,100,70);
  g.setColor(rajzoloszin4);g.fillOval(250,80,148,148);
  g.setColor(keretszin);g.drawOval(250,80,148,148);
  }
 }

2. variáció (ElsoAppletV2.java): sokszögek kirajzolása

az ElsoAppletV2.html kódja:

<HTML>
<HEAD>
<TITLE>Elsõ Applet</TITLE>
</HEAD>
<BODY BGCOLOR="magenta">
<APPLET CODE="ElsoAppletV2.class" WIDTH=400 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
import java.awt.*;
import java.applet.*;

public class ElsoAppletV2 extends Applet {
 public void paint(Graphics g) {
  Color hatterszin=new Color(50,50,255);
  Color rajzoloszin1=Color.getHSBColor(0f,1f,3/4f);
  Color rajzoloszin2=Color.getHSBColor(2/6f,1f,3/4f);
  Color keretszin=Color.getHSBColor(0f,0f,0f);

  setBackground(hatterszin);

  int[] xP={150,240,195},yP={50,50,130};
  g.setColor(rajzoloszin1);g.fillPolygon(xP,yP,3);
  g.setColor(keretszin);g.drawPolygon(xP,yP,3);
  xP[0]-=50;
  xP[1]+=50;
  yP[0]+=200;
  yP[1]+=200;
  g.setColor(rajzoloszin2);g.fillPolygon(xP,yP,3);
  g.setColor(keretszin);g.drawPolygon(xP,yP,3);
  }
 }

3. variáció (ElsoAppletV3.java)

az ElsoAppletV3.html kódja:

<HTML>
<HEAD>
<TITLE>Elsõ Applet</TITLE>
</HEAD>
<BODY BGCOLOR="brown">
<APPLET CODE="ElsoAppletV3.class" WIDTH=400 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
import java.awt.*;
import java.applet.*;

public class ElsoApplet extends Applet {
 public void paint(Graphics g) {
  Color hatterszin=new Color(255,213,192);
  Color betuszin1=Color.black;
  Color betuszin2=Color.blue;
  Color betuszin3=Color.red;
  Color rajzoloszin1=Color.getHSBColor(1/6f,1f,1f);
  Color rajzoloszin2=Color.getHSBColor(5/6f,1f,1f);
  Color rajzoloszin3=Color.getHSBColor(5/6f,1/4f,1f);
  Color rajzoloszin4=Color.getHSBColor(1/3f,1f,1f);
  Color rajzoloszin5=Color.getHSBColor(1/3f,1f,3/4f);
  Color rajzoloszin6=Color.getHSBColor(0f,0f,0f);
  Font font1=new Font("Courier",Font.BOLD,24);
  Font font2=new Font("Arial",Font.ITALIC,24);
  Font font3=new Font("Times New Roman",Font.BOLD+Font.ITALIC,24);

  setBackground(hatterszin);
  g.setColor(rajzoloszin1);g.drawLine(0,0,398,300);g.drawLine(2,0,400,300);
  g.setColor(rajzoloszin2);g.fillRect(150,100,100,100);
  g.setColor(rajzoloszin6);g.drawRect(150,100,100,100);
  g.setColor(rajzoloszin1);g.drawLine(398,0,0,300);g.drawLine(400,0,2,300);

  int[] xP={150,240,195},yP={50,50,130};
  g.setColor(rajzoloszin3);g.fillPolygon(xP,yP,3);
  g.setColor(rajzoloszin6);g.drawPolygon(xP,yP,3);
  g.setColor(hatterszin);g.fillOval(185,70,20,20);
  g.setColor(rajzoloszin6);g.drawOval(185,70,20,20);

  g.setColor(rajzoloszin4);g.fillOval(200,180,80,60);
  g.setColor(rajzoloszin6);g.drawOval(200,180,80,60);
  g.setColor(rajzoloszin5);g.fillOval(250,200,146,96);
  g.setColor(rajzoloszin6);g.drawOval(250,200,146,96);
  g.setColor(betuszin1);g.setFont(font1);g.drawString("Courier BOLD!",20,60);
  g.setColor(betuszin2);g.setFont(font2);g.drawString("Arial ITALIC!",90,150);
  g.setColor(betuszin3);g.setFont(font3);g.drawString("Times BOLD+ITALIC!",160,240);
  g.setColor(rajzoloszin5);g.drawLine(322,0,322,299);g.drawLine(324,0,324,299);
  g.setColor(rajzoloszin6);g.drawLine(0,196,399,196);g.drawLine(0,198,399,198);
  }
 }

4. variáció (ElsoAppletV4.java)

az ElsoAppletV4.html kódja:

<HTML>
<HEAD>
<TITLE>Elsõ Applet</TITLE>
</HEAD>
<BODY BGCOLOR="aqua">
<APPLET CODE="ElsoAppletV4.class" WIDTH=400 HEIGHT=300>
</APPLET>
</BODY>
</HTML>
import java.awt.*;
import java.applet.*;
import java.net.*; 

public class ElsoAppletV4 extends Applet {
 public URL kepurl, hangurl; 
 public Image kep;
 public AudioClip hang;

 public void init() {
  hang=null;
  }
 public void start() {
  if(hang!=null) hang.loop();
  }
 public void stop() {
  if(hang!=null) hang.stop();
  }
 public void destroy() {
  hang.stop();
  }

 public void paint(Graphics g) {
  Color hatterszin=new Color(255,200,200);
  Color betuszin=Color.red;
  Font font=new Font("Arial",Font.ITALIC,100);
  setBackground(hatterszin);
  g.setColor(betuszin);
  try {
   kepurl=new URL(getCodeBase(),"sakk.gif");
   hangurl=new URL(getCodeBase(),"Concerto.au");
   kep=getImage(kepurl);
   hang=getAudioClip(hangurl);
   g.drawImage(kep,5,5,this);
   hang.loop();
   }
  catch(MalformedURLException e) {
   System.out.println("Hiba a kep betoltesekor: "+e);
   }
  g.setFont(font);
  g.drawString("HELLÓ!",20,110);
  }
 }



MasodikApplet.java: komponensek elhelyezése grafikus felületen

a MasodikApplet.html kódja:

<html>
<head>
<title>Második Applet</title>
</head>
<body>
<applet code="MasodikApplet.class" width=400 height=300>
</applet>
</body>
</html>
import java.applet.*;
import java.awt.*;

public class MasodikApplet extends Applet {
 public TextField x=new TextField();
 public Button plus=new Button("+");
 public TextField y=new TextField();
 public Label eq=new Label("=");
 public Label z=new Label();

 public void init() {
  setLayout(null);
  x.setBounds(5,5,50,20);add(x);
  plus.setBounds(60,5,20,20);add(plus);
  y.setBounds(85,5,50,20);add(y);
  eq.setBounds(140,5,20,20);add(eq);
  z.setBounds(165,5,100,20);add(z);
  }
 public void paint(Graphics g) {
  Color betuszin=Color.black;
  Font font=new Font("Courier",Font.BOLD,50);
  setBackground(Color.pink);
  g.setColor(betuszin);g.setFont(font);
  g.drawString("Hello!",110,160);
  int a=1,b=1,c;
  x.setText(""+a);
  y.setText(""+b);
  c=a+b;
  z.setText(""+c);
  }
 }

1. variáció (MasodikAppletV1.java): gomb lenyomásának kezelése

a MasodikAppletV1.html kódja:

<html>
<head>
<title>Második Applet</title>
</head>
<body>
<applet code="MasodikAppletV1.class" width=400 height=300>
</applet>
</body>
</html>
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class MasodikAppletV1 extends MasodikApplet implements ActionListener {
 public void init() {
  super.init();
  plus.addActionListener(this);
  }
 public void actionPerformed(ActionEvent ev) {
  int a,b,c;
  try {
   a=Integer.parseInt(x.getText());
   b=Integer.parseInt(y.getText());
   c=a+b;
   z.setText(""+c);
   }
  catch(Exception ex) {
   z.setText("Hiba!");
   }
  validate();
  }
 public void paint(Graphics g) {
  Color betuszin=Color.black;
  Font font=new Font("Courier",Font.BOLD,50);
  setBackground(Color.cyan);
  g.setColor(betuszin);g.setFont(font);
  g.drawString("Hello!",110,160);
  }
 }



HarmadikApplet.java: egy egyszerû könyvtári alkalmazás

a HarmadikApplet.html kódja:

<html>
<head>
<title>Harmadik Applet</title>
</head>
<body>
<applet code="HarmadikApplet.class" width=400 height=300>
</applet>
</body>
</html>
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class HarmadikApplet extends Applet implements ActionListener {
 public Label l1=new Label("Szerzõ(k):");
 public Label l2=new Label("Cím:");
 public Label l3=new Label("Kiadó:");
 public Label l4=new Label("Kiadási év:");
 public TextField szerzo=new TextField();
 public TextField cim=new TextField();
 public TextField kiado=new TextField();
 public TextField kiadev=new TextField();
 public Button oke=new Button("OK");
 public TextArea kiir=new TextArea();

 public void init() {
  setLayout(null);
  l1.setBounds(5,5,100,20);add(l1);
  szerzo.setBounds(105,5,200,20);add(szerzo);
  l2.setBounds(5,25,100,20);add(l2);
  cim.setBounds(105,25,200,20);add(cim);
  l3.setBounds(5,45,100,20);add(l3);
  kiado.setBounds(105,45,200,20);add(kiado);
  l4.setBounds(5,65,100,20);add(l4);
  kiadev.setBounds(105,65,200,20);add(kiadev);
  oke.setBounds(5,100,30,20);add(oke);
  oke.addActionListener(this);
  kiir.setBounds(5,135,300,100);add(kiir);
  }
 public void actionPerformed(ActionEvent ev) {
  String a,b,c,d;
  a=szerzo.getText();
  b=cim.getText();
  c=kiado.getText();
  d=kiadev.getText();
  if(b.length()==0) return;
  kiir.append(b+
             (a.length()>0?" / "+a:"")+". - "+
             (c.length()>0?c:"[n.a.]")+", "+
             (d.length()>0?d:"[19??]")+".\n");
  szerzo.setText("");
  cim.setText("");
  kiado.setText("");
  kiadev.setText("");
  validate();
  }
 public void paint(Graphics g) {
  Color betuszin=Color.red;
  Font font=new Font("Arial",Font.BOLD+Font.ITALIC,30);
  setBackground(Color.cyan);
  g.setColor(betuszin);g.setFont(font);
  g.drawString("Címleíró felület v1.0",5,280);
  }
 }


Boda István, 2005 szeptember 11.