Feld aktivieren/deaktivieren

Status
Nicht offen für weitere Antworten.

Reality

Top Contributor
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

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
 
ich würde vorher abfragen, ob überhaupt was im feld drinnen steht (also mit getText().equals("")).... erst wenn etwas drinsteht würde ich versuchen es zu parsen.

Das sollte helfen...
 

Reality

Top Contributor
Hab das mal so eingeben, aber irgendwie kommt dasselbe raus:

Code:
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);

      lbErgebnis.getText().equals("");
      {
      lbErgebnis.setText("Der Preis beträgt "+ergebnis4 +" €");
    }



        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 + " €");



      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("");
    }
  }

Liebe Grüße
Reality
 
nein ich meinte:

Code:
if(!tfEingabe.getText().equals("") && tfMwst.getText().equals("")) {
      preis = Double.parseDouble(tfEingabe.getText()); 
      ergebnis = preis * mwst; 
      ergebnis2 = preis + ergebnis; 
      mwstholen=Double.parseDouble(tfMwst.getText()); 
      ........
 

Reality

Top Contributor
Ahja Danke!! Du hast zwar was verwechselt, aber du hast mich auf den richtigen Weg gebracht!

Code:
  void button1_actionPerformed(ActionEvent e) {
    try{
      double preis, mwst, ergebnis, ergebnis2,ergebnis3, ergebnis4, mwstholen;
      String puffer, puffer2, puffer3;

      preis = Double.parseDouble(tfEingabe.getText());


      if(!tfMwst.getText().equals("")) {

    mwstholen=Double.parseDouble(tfMwst.getText());
    ergebnis3=(preis*mwstholen)/100;
    ergebnis4=preis+ergebnis3;
    puffer3= Double.toString(ergebnis3);
      lbErgebnis.setText("Die Mwst betragen "+mwstholen +" %");
      lbErgebnis2.setText("Der Gesamtpreis beträgt "+ergebnis4 +" €");
    }

else{
        mwst = 0.16;
        ergebnis = preis * mwst;
        ergebnis2 = preis + ergebnis;
        puffer = Double.toString(ergebnis);
      puffer2 = Double.toString(ergebnis2);

        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 + " €");
}


      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("");
    }
  }

Liebe Grüss
Reality
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
U Spielfelde erstellen & via Brute-Force jedes Feld aktivieren Java Basics - Anfänger-Themen 4
I Reflection: Suche Feld + in Unterklassen Java Basics - Anfänger-Themen 7
K TicTacToe belegtes feld nicht neu besetzbar Java Basics - Anfänger-Themen 1
K TicTacToe belegtes Feld nicht neu besetzbar Java Basics - Anfänger-Themen 3
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
wofus Interface EditText Feld Multiline Dezimalzahl Java Basics - Anfänger-Themen 2
HeiTim Brauche Hilfe soll ein nummeriertes Feld ausgeben lassen Java Basics - Anfänger-Themen 17
C Feld printen Java Basics - Anfänger-Themen 4
B Zu Property Feld weitere Informationen hinzufügen? Java Basics - Anfänger-Themen 4
cmn489 Werte beim Funktionsaufruf in ein Feld übertragen(falls dieses leer ist) Java Basics - Anfänger-Themen 1
J Button als Feld nutzen Java Basics - Anfänger-Themen 17
F Zahlen im Feld sortieren + Unterprogramm Java Basics - Anfänger-Themen 4
S Methoden Feld vergrößern Java Basics - Anfänger-Themen 1
M Interpreter-Fehler Feld NullPointerException Java Basics - Anfänger-Themen 4
neerual Feld mit Einsen und Nullen füllen und überschreiben Java Basics - Anfänger-Themen 1
O Schlange als dynamisches Feld - Aufwand Java Basics - Anfänger-Themen 16
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
T Suchen in sortiertem Feld Java Basics - Anfänger-Themen 2
tuc Erste Schritte verschiedene objekte in einem feld speichern Java Basics - Anfänger-Themen 4
W Processing bestimmtes Feld einfärben Java Basics - Anfänger-Themen 8
T csv Datein einlesen und ausgewähltes Feld ausgeben Java Basics - Anfänger-Themen 4
E Feld von verketteten Listen Java Basics - Anfänger-Themen 11
N zweidimensionales 10x10 Feld erstellen Java Basics - Anfänger-Themen 3
M Feld in untermethoden ausgeben Java Basics - Anfänger-Themen 9
Q OOP Mehrere Instanzen auf ein Feld Java Basics - Anfänger-Themen 13
M Rekursive Suche in einem Feld Java Basics - Anfänger-Themen 11
W 10x10 Feld mit Zufallszahlen erstellen Java Basics - Anfänger-Themen 4
M Wert aus String Feld anzeigen Java Basics - Anfänger-Themen 7
M Warum ist dieses Feld der Klasse Math immutable? Java Basics - Anfänger-Themen 7
D Datentypen Zahlen aus einem alphanummerischen Feld in ein Interger Feld portieren Java Basics - Anfänger-Themen 13
L Daten aus Array Feld löschen Java Basics - Anfänger-Themen 2
D Datentypen Ein Integer Feld in einen String wandeln ohne Nullenunterdrückung Java Basics - Anfänger-Themen 6
V Feld sortieren mit Backtracking Java Basics - Anfänger-Themen 1
Z feld[zahl()-1] funktioniert nicht Java Basics - Anfänger-Themen 6
P Collections Feld aus Sets erstellen. Java Basics - Anfänger-Themen 7
E Methode, zwei Klassen, Feld Java Basics - Anfänger-Themen 9
T Ein Feld umdrehen Java Basics - Anfänger-Themen 5
T Erste Schritte Java ein Array Feld[index] zurueckgeben? Java Basics - Anfänger-Themen 20
Z Feld befüllen Java Basics - Anfänger-Themen 8
N Klasse/Konstruktor/Feld Java Basics - Anfänger-Themen 6
W Rückgabe Methode mit Feld Java Basics - Anfänger-Themen 4
B Frage zur Effizienz - alle Array-Felder initialisieren oder jedes Feld auf null prüfen? Java Basics - Anfänger-Themen 4
E Algorithmus für kart. Produkt: als int [] Feld repräsentiert Java Basics - Anfänger-Themen 10
T Generisches Feld in nicht-generischer Klasse möglich? Java Basics - Anfänger-Themen 5
S Einzelne Werte von Array-Feld löschen Java Basics - Anfänger-Themen 15
D Mysql ob feld existiert Java Basics - Anfänger-Themen 2
N Input/Output 2D Feld ausgeben? Java Basics - Anfänger-Themen 3
R Bestehendes Array ein Feld hinzufügen Java Basics - Anfänger-Themen 4
M GUI JList - Objekte listen u. Feld anzeigen? Java Basics - Anfänger-Themen 16
M Applet ist nur graues Feld Java Basics - Anfänger-Themen 12
G Gleiche Elemente in Feld zählen Java Basics - Anfänger-Themen 13
G Elemente von Feld und Liste auf Gleichheit überprüfen Java Basics - Anfänger-Themen 13
R Nächstes leeres Feld im array füllen? Java Basics - Anfänger-Themen 14
R dynamisches zweidimensionales Feld erzeugen Java Basics - Anfänger-Themen 8
L Array um ein Feld erweitern Java Basics - Anfänger-Themen 13
E Button/Feld deaktivieren, ohne Styleauswirkung? Java Basics - Anfänger-Themen 5
D OOP Objekte in einem Feld ablegen Java Basics - Anfänger-Themen 7
P HTML <input> Feld in einem JLabel auslesen Java Basics - Anfänger-Themen 4
H text feld eine variable zu weisen Java Basics - Anfänger-Themen 3
J select-feld auswahl, jsp javascript Java Basics - Anfänger-Themen 2
M Feld übergeben & dann Werte in TextFelder schreiben Java Basics - Anfänger-Themen 4
B Wie kann ich unterschiedliche Datentypen in einem Feld abbilden? Java Basics - Anfänger-Themen 5
K Datentypen Referenzdatentyp Array (Feld) und Objektdatentyp Java Basics - Anfänger-Themen 14
I Memory-Spiel Feld nur einmal mischen Java Basics - Anfänger-Themen 2
K Random Zahlen in ein Feld Java Basics - Anfänger-Themen 4
C Datentypen ArrayList.remove(index) hinterlässt leeres Feld Java Basics - Anfänger-Themen 5
B Welcher Feld Typ für verschiedene Datentypen? Java Basics - Anfänger-Themen 4
B Static Referenz auf Non-static Feld Java Basics - Anfänger-Themen 6
C 1D Feld in Methode einbinden? Java Basics - Anfänger-Themen 4
B Zeichenfarbe in Feld speichern Java Basics - Anfänger-Themen 7
J Feld in Tabelle suchen Java Basics - Anfänger-Themen 8
K Java String UNICODE in DB UTF-8 Feld einfügen Java Basics - Anfänger-Themen 3
K feld von basisklasse ändern Java Basics - Anfänger-Themen 11
S Nullpointererror bei JButton-Feld Java Basics - Anfänger-Themen 2
A Ein Feld meiner jTable färben Java Basics - Anfänger-Themen 6
T Feld sortieren aber vorherigen Feldindex der Werte behalten Java Basics - Anfänger-Themen 9
kulturfenster Info-Feld erstellen Java Basics - Anfänger-Themen 2
G Feld auslesen und in Integer umwandeln Java Basics - Anfänger-Themen 4
G Feld in umgekehrter Reihenfolge an zweites Feld übergeben Java Basics - Anfänger-Themen 5
G Stopp Feld programmieren für Spielbrett Java Basics - Anfänger-Themen 8
K 3 Dimensionales Feld - Java und seine Grenzen Java Basics - Anfänger-Themen 4
S kompletten Datensatz statt nur ein Feld auslesen lassen,wie? Java Basics - Anfänger-Themen 3
H combobox auf leeres Feld prüfen? Java Basics - Anfänger-Themen 10
M wie auf ein feld mit leerzeichen in einem char array prüfen? Java Basics - Anfänger-Themen 4
G Feld Ein-/Ausgabe Java Basics - Anfänger-Themen 2
W Feld von boolean in main initialisieren. Java Basics - Anfänger-Themen 4
S Array Kopie zwei in eindimensionales feld Java Basics - Anfänger-Themen 4
S Feld<T> Java Basics - Anfänger-Themen 2
Z Feld prüfen ob 3 gleiche zahlen nach einander vorkommen Java Basics - Anfänger-Themen 3
B Char Feld -> "Zeilenumbruch" Java Basics - Anfänger-Themen 5
N zahlen und operatoren gemischt in einem Feld Java Basics - Anfänger-Themen 9
E JFileChooser- Dateiname Feld? Java Basics - Anfänger-Themen 2
H Wert an Feld übergeben? Java Basics - Anfänger-Themen 23
E Adobe Designer Drop Down Feld & If Abfrage Java Basics - Anfänger-Themen 4
J 2 dinemsionales Feld Java Basics - Anfänger-Themen 5
G Bestimmtes Feld aus ArrayList auslesen (nicht mit .get(x)?) Java Basics - Anfänger-Themen 27
S Background von JtextField bei Focus in dem Feld ändern Java Basics - Anfänger-Themen 6
G Instanzen in einem Feld erzeugen Java Basics - Anfänger-Themen 9
P Was genau bedeutet Feld Java Basics - Anfänger-Themen 3
J Double[] Feld und Durchschnitt Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben