Konrad-Adenauer-Gymnasium Langenfeld

Informatik Grundkurs Einführungsphase

Hexenhaus.java

Hier als Referenzlösung die Klasse Hexenhaus:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class Hexenhaus extends Applet implements ActionListener
{
Label lbTitel = new Label("Zeichnen eines Hexenhauses");
Label lbCopyright = new Label("© 10/2000 by Ralph-Erich Hildebrandt - Konrad-Adenauer-Gymnasium Langenfeld");
Font ftTitel = new Font("Arial",Font.BOLD,16);
Font ftCopyright = new Font("Arial",Font.PLAIN,11);
Panel pnTitel = new Panel();
Panel pnMenü = new Panel();
Panel pnCopyright = new Panel();
Panel pnWork = new Panel();
Panel pnZeichnen = new Panel();
Panel pnDelete = new Panel();
hhCanvas cvZeichnung;
Button btZeichnen = new Button("Zeichnen");
Button btDelete = new Button("Löschen");
public void init()
{
resize(640,480);
setLayout(new BorderLayout());
//Titelzeile generieren
add(pnTitel, BorderLayout.NORTH);
pnTitel.setBackground(Color.blue);
pnTitel.setForeground(Color.white);
pnTitel.setFont(ftTitel);
pnTitel.add(lbTitel);
//Menübereich generieren
add(pnMenü, BorderLayout.WEST);
pnMenü.setBackground(Color.yellow);
pnMenü.setLayout(new GridLayout(10,1));
pnMenü.add(pnZeichnen);
pnZeichnen.add(btZeichnen);
pnMenü.add(pnDelete);
pnDelete.add(btDelete);
btZeichnen.addActionListener(this);
btDelete.addActionListener(this);
//Copyrightzeile generieren
add(pnCopyright, BorderLayout.SOUTH);
pnCopyright.setBackground(Color.black);
pnCopyright.setForeground(Color.white);
pnCopyright.setFont(ftCopyright);
pnCopyright.add(lbCopyright);
//Arbeitsbereich generieren
add(pnWork, BorderLayout.CENTER);
cvZeichnung = new hhCanvas(640-pnMenü.getSize().width,480-pnTitel.getSize().height-pnCopyright.getSize().height);
pnWork.add(cvZeichnung);
cvZeichnung.setBackground(Color.white);
cvZeichnung.init();
}
public void actionPerformed(ActionEvent event)
{
Object cmd = event.getSource();
if (cmd == btZeichnen)
{
cvZeichnung.Zeichnen();
}
if (cmd == btDelete)
{
cvZeichnung.Löschen();
}
}
}


© Ralph-Erich Hildebrandt, 06. Januar 2004