Hallo,
ich muss zur Hausaufgabe ein kleines Rechenprogramm schreiben, dass Zinssätze berechnet.
Der Zinssatz ist normalerweise als double festgelegt. Ich habe nun ein Feld eingebaut, wo man sein Zinssatz auch manuell eingeben kann, wenn tfMwst aktiviert ist. Aber irgendwie funktioniert das nicht so richtig.
Wenn ich das Feld deaktiviert lasse, kommt die Fehlermeldung "Bitte nur Zahlen eingeben" die eigentlich dazu gedacht ist, wenn man Buchstaben hineinschreibt.
Seht selbst
Danke schon mal im voraus.
Liebe Grüße
Reality
ich muss zur Hausaufgabe ein kleines Rechenprogramm schreiben, dass Zinssätze berechnet.
Der Zinssatz ist normalerweise als double festgelegt. Ich habe nun ein Feld eingebaut, wo man sein Zinssatz auch manuell eingeben kann, wenn tfMwst aktiviert ist. Aber irgendwie funktioniert das nicht so richtig.
Wenn ich das Feld deaktiviert lasse, kommt die Fehlermeldung "Bitte nur Zahlen eingeben" die eigentlich dazu gedacht ist, wenn man Buchstaben hineinschreibt.
Seht selbst
Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Hauptfenster extends JFrame {
JPanel contentPane;
TextField tfEingabe = new TextField();
Label lbPreis = new Label();
Button button1 = new Button();
Label lbErgebnis = new Label();
Label lbErgebnis2 = new Label();
Label lbExit = new Label();
TextField tfMwst = new TextField();
Checkbox checkbox1 = new Checkbox();
//Construct the frame
public Hauptfenster() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
tfEingabe.setText("");
tfEingabe.setBounds(new Rectangle(18, 55, 148, 35));
contentPane.setLayout(null);
this.setSize(new Dimension(460, 360));
this.setTitle("Mehrwertsteuer-Berechner");
lbPreis.setFont(new java.awt.Font("Dialog", 1, 11));
lbPreis.setText("Bitte Preis eingeben:");
lbPreis.setBounds(new Rectangle(20, 18, 150, 29));
button1.setFont(new java.awt.Font("Dialog", 1, 11));
button1.setLabel("Berechnen");
button1.setBounds(new Rectangle(232, 56, 140, 36));
button1.addActionListener(new Hauptfenster_button1_actionAdapter(this));
lbErgebnis.setText("");
lbErgebnis.setBounds(new Rectangle(12, 201, 392, 39));
lbErgebnis2.setText("");
lbErgebnis2.setBounds(new Rectangle(19, 243, 382, 39));
lbExit.setFont(new java.awt.Font("Dialog", 1, 14));
lbExit.setText("Beenden");
lbExit.setBounds(new Rectangle(173, 297, 68, 32));
lbExit.addMouseMotionListener(new Hauptfenster_lbExit_mouseMotionAdapter(this));
tfMwst.setBounds(new Rectangle(18, 116, 148, 35));
tfMwst.setText("");
tfMwst.setVisible(false);
checkbox1.setLabel("Mwst manuell eingeben");
checkbox1.setBounds(new Rectangle(194, 127, 147, 19));
checkbox1.addItemListener(new Hauptfenster_checkbox1_itemAdapter(this));
contentPane.add(tfEingabe, null);
contentPane.add(lbPreis, null);
contentPane.add(button1, null);
contentPane.add(lbExit, null);
contentPane.add(lbErgebnis2, null);
contentPane.add(lbErgebnis, null);
contentPane.add(tfMwst, null);
contentPane.add(checkbox1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
void button1_actionPerformed(ActionEvent e) {
try{
double preis, mwst, ergebnis, ergebnis2,ergebnis3, ergebnis4, mwstholen;
String puffer, puffer2, puffer3;
mwst = 0.16;
preis = Double.parseDouble(tfEingabe.getText());
ergebnis = preis * mwst;
ergebnis2 = preis + ergebnis;
mwstholen=Double.parseDouble(tfMwst.getText());
ergebnis3=(preis*mwstholen)/100;
ergebnis4=preis+ergebnis3;
puffer = Double.toString(ergebnis);
puffer2 = Double.toString(ergebnis2);
puffer3= Double.toString(ergebnis3);
if(ergebnis3==0){
lbErgebnis.setForeground(UIManager.getColor(
"InternalFrame.inactiveTitleBackground"));
lbErgebnis.setText("Die Mehrwertsteuern betragen " + puffer + " €");
lbErgebnis2.setForeground(UIManager.getColor(
"InternalFrame.inactiveTitleBackground"));
lbErgebnis2.setText("Der Gesamtpreis beträgt " + puffer2 + " €");
}
else{
lbErgebnis.setText("Der Preis beträgt "+ergebnis4 +" €");
}
if (preis<0){
lbErgebnis.setForeground(Color.red);
lbErgebnis.setText("Bitte keine negativen Zahlen eingeben!");
lbErgebnis2.setText("");
}
}catch (Exception f)
{
lbErgebnis.setForeground(Color.red);
lbErgebnis.setText("Bitte nur Zahlen eingeben!");
lbErgebnis2.setText("");
}
}
void lbExit_mouseMoved(MouseEvent e) {
System.exit(0);
}
void checkbox1_itemStateChanged(ItemEvent e) { //Bei Aktivierung wird das Feld sichtbar
tfMwst.setVisible(true);
}
}
class Hauptfenster_button1_actionAdapter implements java.awt.event.ActionListener {
Hauptfenster adaptee;
Hauptfenster_button1_actionAdapter(Hauptfenster adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.button1_actionPerformed(e);
}
}
class Hauptfenster_lbExit_mouseMotionAdapter extends java.awt.event.MouseMotionAdapter {
Hauptfenster adaptee;
Hauptfenster_lbExit_mouseMotionAdapter(Hauptfenster adaptee) {
this.adaptee = adaptee;
}
public void mouseMoved(MouseEvent e) {
adaptee.lbExit_mouseMoved(e);
}
}
class Hauptfenster_checkbox1_itemAdapter implements java.awt.event.ItemListener {
Hauptfenster adaptee;
Hauptfenster_checkbox1_itemAdapter(Hauptfenster adaptee) {
this.adaptee = adaptee;
}
public void itemStateChanged(ItemEvent e) {
adaptee.checkbox1_itemStateChanged(e);
}
}
Danke schon mal im voraus.
Liebe Grüße
Reality