package rechteck_Ografisch_Applet;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.io.BufferedReader;
import java.text.*;
import java.util.*;
public class Oberflaeche extends Frame {
Button button_berechne = new Button("Berechne");
Button button_neueberechnung = new Button("Neue Berechnung");
Button button_ende = new Button("Ende");
TextField textfeld_seite_a = new TextField();
TextField textfeld_seite_b = new TextField();
TextField textfeld_flaeche = new TextField();
TextField textfeld_umfang = new TextField();
Label label_eingabe_seite_a = new Label("Gib Seite a in m ein");
Label label_eingabe_seite_b = new Label("Gib Seite b in m ein");
Label label_flaecheneinheit = new Label("m²");
Label label_umfangeinheit = new Label("m");
Label label_flaeche = new Label("Fläche:");
Label label_umfang = new Label("Umfang:");
double a;
double b;
double flaecheninhalt;
double umfang;
double of;
Rechteck r;
Applet app;
Image img;
public Oberflaeche(Applet app){
this.app=app;
this.setSize (new Dimension(800,650));
Dimension Bildschirmgroesse = Toolkit.getDefaultToolkit().getScreenSize();
setLocation ((Bildschirmgroesse.width-800)/2,(Bildschirmgroesse.height-650)/2);
this.setTitle("Berechnung am Rechteck");
this.setBackground(new Color(190,98,0));
setLayout(null);
button_berechne.setBounds(200,400,120,20);
button_neueberechnung.setBounds(200,425,120,20);
button_ende.setBounds(200,450,120,20);
textfeld_seite_a.setBounds(100,275,120,20);
textfeld_seite_b.setBounds(250,275,120,20);
textfeld_flaeche.setBounds(200,325,120,20);
textfeld_flaeche.setEditable(false);
textfeld_umfang.setBounds(500,325,120,20);
textfeld_umfang.setEditable(false);
label_eingabe_seite_a.setBounds(100,305,120,20);
label_eingabe_seite_b.setBounds(250,305,120,20);
label_flaecheneinheit.setBounds(320,325,20,20);
label_umfangeinheit.setBounds(620,325,20,20);
label_flaeche.setBounds(150,325,100,20);
label_umfang.setBounds(450,325,100,20);
this.add(textfeld_seite_a);
this.add(textfeld_seite_b);
this.add(button_berechne);
this.add(button_neueberechnung);
this.add(button_ende);
this.add(textfeld_flaeche);
this.add(textfeld_umfang);
this.add(label_umfangeinheit);
this.add(label_flaecheneinheit);
this.add(label_eingabe_seite_a);
this.add(label_eingabe_seite_b);
this.add(label_flaeche);
this.add(label_umfang);
button_berechne.addActionListener (new java.awt.event.ActionListener() {
public void actionPerformed (ActionEvent e) {
a = Double.parseDouble(textfeld_seite_a.getText());
b = Double.parseDouble(textfeld_seite_b.getText());
r = new Rechteck(a,b);
flaecheninhalt = r.berechneFlaeche();
umfang = r.berechneUmfang();
Locale.setDefault(Locale.ENGLISH);
DecimalFormat df = new DecimalFormat("#0.0000");
textfeld_flaeche.setText (df.format(flaecheninhalt));
textfeld_umfang.setText (df.format(umfang));
}
});
button_neueberechnung.addActionListener(new java.awt.event.ActionListener(){
public void actionPerformed (ActionEvent e) {
textfeld_seite_a.setText("");
textfeld_seite_b.setText("");
textfeld_flaeche.setText("");
textfeld_umfang.setText("");
}
});
button_ende.addActionListener (new java.awt.event.ActionListener() {
public void actionPerformed (ActionEvent e){
setVisible(false);
dispose();
System.exit(0);
}
});
}
public void paint(Graphics g){
g.setColor(new Color (0,0,0));
g.drawRect(10,30, 780, 610);
MediaTracker mt = new MediaTracker (this);
Image img=app.getImage(app.getDocumentBase(),"rechteck_Ografisch_Applet/IMG_3663.jpg");
mt.addImage (img,0);
try {
mt.waitForAll();
}
catch (InterruptedException e){
System.out.println("Bildladefehler "+e);
}
g.drawImage(img,20,40,this);
//schrift ändern
g.setColor (new Color (100,10,30));
Font schriftart = new Font ("Serif", Font.PLAIN,30);
g.setFont(schriftart);
g.drawString("RECHTECK - einfache Berechnungen", 200, 100);
//Textdatei einlesen
FileReader fr = null;
String zeile="";
int i =0;
String textdatei = app.getCodeBase().getPath()+"/rechteck_Ografisch_Applet/text.txt";
try {
fr = new FileReader(textdatei);
}
catch (FileNotFoundException fnfex){
System.out.println("Datei"+textdatei+" nicht gefunden");
}
BufferedReader br = new BufferedReader (fr);
try {
while (zeile !=null){
zeile = br.readLine ();
if (zeile!=null){
g.drawString(zeile,150,550+i*20);
i=i+1;
}
}
fr.close();
}
catch (IOException iex){
System.out.println("Datei kann nicht gelesen werden"+textdatei);
}
}
}