Auftragsverwaltung

Status
Nicht offen für weitere Antworten.
T

TK

Gast
Servus zusammen.javascript:emoticon(':D')
Very Happy

Ich habe ein Problem beim programmieren meiner Kunden Auftragsverwaltung....

Es soll möglich sein aus einer Artikelliste einen Artikel auszuwählen. Dieser wird dann in einer jtable angezeigt. Natürlich kann man auch mehrere Artikel auswählen. Das Problem liegt nun in der Berechnung der Auftragssumme und ich versteh nicht warum es immer zu einer Exception kommt???

1.
Code:
  private void btn_artikel_auswaehlenActionPerformed(java.awt.event.ActionEvent evt) {                                                       
        // TODO add your handling code here:
       int anzahl =-1;
       int selectzeile =-1;
       
       try{
           anzahl = Integer.parseInt(txt_anzahl.getText());
            try{
               selectzeile = jtbl_artikelliste.getSelectedRow();
              
               if(jtbl_artikelliste.getValueAt(selectzeile,0)!=null){
               artikelnummer = (Integer)jtbl_artikelliste.getValueAt(selectzeile,0);
               Artikel einartikel = (Artikel) einartikelcontainer.getartikel(artikelnummer);
               
               if(einartikel != null){
                   einjdauftrag = JD_Auftrag.getObjektreferenz();
                   einjdauftrag.artikelauswahl(artikelnummer,anzahl,einartikel);
                   this.dispose();
                   einjdauftrag.setModal(true);
                   einjdauftrag.setAlwaysOnTop(true);
                   einjdauftrag.setVisible(true);
               }
               }
           }
           catch(Exception e)
       {
             txt_meldungen.setText("Selektieren Sie eine Zeile!");  
       }
       }
       catch(NumberFormatException e)
       {
        txt_meldungen.setText("Keinen Wert für Anzahl eingegben!");     
       }
   }

2.
Code:
   public void artikelauswahl(int artikelnummer, int anzahl, Artikel einartikel)//Artikel hinzufügen
        {
            zeilenanzahl = jtbl_artikel.getRowCount()-1;
            einzelpreis = einartikel.geteinzelpreis();
            gesamtpreis = anzahl * einzelpreis;
//            auftragssumme = Integer.parseInt(txt_auftragssumme.getText());
            auftragssumme_neu = auftragssumme + gesamtpreis;
            txt_auftragssumme.setText(String.valueOf(auftragssumme_neu));//es kann ja immer nur ein artikel ausgewählt werden
            
            for (zeile=0;zeile<=zeilenanzahl;zeile++)
            {
                if (jtbl_artikel.getValueAt(zeile, 0) == null)
                {
                    jtbl_artikel.setValueAt(einartikel.getartikelnummer(), zeile, 0);
                    jtbl_artikel.setValueAt(einartikel.getbezeichnung(), zeile, 1);
                    jtbl_artikel.setValueAt(anzahl, zeile, 2);
                    jtbl_artikel.setValueAt(einartikel.geteinzelpreis(), zeile, 3);
                    jtbl_artikel.setValueAt(gesamtpreis, zeile, 4);
                    break;
                }
            }
    }

das Probem scheint die in 2. auskommentierte Zeile zu sein (hab ich durch debugging herausgefunden)... Also wenn ich das Programm ausführe geht es unter 1. bis einjdauftrag.artikelauswahl(artikelnummer,anzahl,einartikel); nun läuft die andere Methode ab bei der jetzt auskommentierten zeile springt das Programm dann in den catch Block mit der Exception e????

Irgendjemand ne Ahnung was das Problem sein könnte?

MfG Tobias
:D


L-ectron-X hat diesen Beitrag am 17.02.2008 um 18:05 Uhr editiert.
Code-Tags eingefügt.
 
T

TK

Gast
Hab vergessen die auskommentierte Zeile zu aktualisieren!

// auftragssumme = Float.parseFloat(txt_auftragssumme.getText());

Das Problem bleibt jedoch das gleiche....

Ich hoffe mir kann jemand helfen, brauche die funktionierende Methode dringend
 
G

Guest

Gast
TK hat gesagt.:
Hab vergessen die auskommentierte Zeile zu aktualisieren!

// auftragssumme = Float.parseFloat(txt_auftragssumme.getText());

Das Problem bleibt jedoch das gleiche....

Ich hoffe mir kann jemand helfen, brauche die funktionierende Methode dringend

Die Zeile auftragssumme = Float.parseFloat(txt_auftragssumme.getText()); in einen try/catch block geben eine IllegalArgumentException fangen und dir den e.printStackTrace() ausgeben lassen, dann solltest du genau sehen ob der Parser fehl schlägt. Wenn dieser fehl Schlägt wird es wohl an der Eingabe liegen.

Greets
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben