import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.*;
import java.awt.GridLayout.*;
public class Rechner implements ActionListener {
JFrame applikation;
Container container;
JPanel main;
JPanel down;
private JTextField tpreis;
private JTextField tsteigung;
private JTextField tjahre;
private JTextField tergebnis;
// Menüleiste
JMenuBar menueLeiste;
// Menüleiste Elemente
JMenu datei;
// Datei
JMenuItem beenden;
public Rechner() {
applikation = new JFrame("Rechner");
container = applikation.getContentPane();
main = new JPanel();
down = new JPanel();
main.setLayout( new GridLayout(/*3*/ 4, 5, 5, 5) ); // Zeilengröße 3
down.setLayout( new GridLayout(/*3*/ 2, 5, 5, 5) ); // Zeilengröße 3
main.setLayout(new BoxLayout(main, BoxLayout.Y_AXIS));
JLabel preis = new JLabel();
preis.setText("<html> Preis [€]:</html>");
main.add(preis);
tpreis = new JTextField();
tpreis.setToolTipText("Preis");
tpreis.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ausrechnen();
}
});
main.add(tpreis);
JLabel steigung = new JLabel();
steigung.setText("<html> jährliche Steigerung [%]:</html>");
main.add(steigung);
tsteigung = new JTextField();
tsteigung.setToolTipText("Preissteigung");
tsteigung.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ausrechnen();
}
});
main.add(tsteigung);
JLabel jahre = new JLabel();
jahre.setText("<html> Jahre:</html>");
main.add(jahre);
tjahre = new JTextField();
tjahre.setToolTipText("Anzahl der Jahre");
tjahre.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
ausrechnen();
}
});
main.add(tjahre);
JLabel ergebnis = new JLabel();
ergebnis.setText("<html> Endpreis [€] :</html>");
main.add(ergebnis);
tergebnis = new JTextField(4);
tergebnis.setToolTipText("dynamischer Wasserpreis");
tergebnis.setEditable(false);
main.add(tergebnis);
JLabel leer = new JLabel("<html> </html>");
down.add(leer);
// Button
JButton berechnen = new JButton("Berechnen");
berechnen.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e){
ausrechnen();
}
});
down.add(berechnen);
// Menüleiste erzeugen
menueLeiste = new JMenuBar();
// Menüelemente erzeugen
datei = new JMenu("Datei");
// Untermenüelemente erzeugen
beenden = new JMenuItem("Beenden");
beenden.addActionListener(this);
// Menüelemente hinzufügen
menueLeiste.add(datei);
// Untermenüelemente hinzufügen
datei.add(beenden);
applikation.add(menueLeiste, BorderLayout.NORTH);
applikation.add(main, BorderLayout.CENTER);
applikation.add(down, BorderLayout.SOUTH);
applikation.setSize(280, 280); // Fenstergröße
applikation.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
applikation.setVisible(true);
}
public void actionPerformed(ActionEvent object) {
if (object.getSource() == beenden){
System.exit( 0 );
}
}
private void ausrechnen(){
try
{
// Komma in Punkt zum rechnen Umwandeln für den Preis
String Preis = tpreis.getText();
Preis = Preis.replace(',', '.');
double p = Double.parseDouble(Preis);
// Komma in Punkt zum rechnen Umwandeln für die Steigung
String Steigung = tsteigung.getText();
Steigung = Steigung.replace(',', '.');
double s = Double.parseDouble(Steigung);
// Komma in Punkt zum rechnen Umwandeln für die Jahre
String Jahre = tjahre.getText();
Jahre = Jahre.replace(',', '.');
double j = Double.parseDouble(Jahre);
double Zins;
Zins = (s/100)+1;
double summe = 0;
for (int i = 0; i < j; i++)
{
p = p * Zins;
summe = summe += p;
}
String s1 = String.format(" %.4f" , summe);
tergebnis.setText(s1);
}
catch (NumberFormatException ex )
{
System.out.println("falsche Daten eingegeben.");
}
}
public static void main(String[] args) {
new Rechner();
}
}