Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema con calcolo su JTable aiuto per favore

    Salve ragazzi, ho un problema.

    Ho una JTable, devo eseguire un calcolo su tutti i valori di una colonna.

    Ho fatto in questa maniera

    for(int i = 0; i<nRighe; i++){
    String elemento = tabella.getValute(i,2);
    Double e = Double.parseDouble(elemento);
    somma = somma + e;
    }

    ora che succede, succede che se nella colonna in cui eseguo il calcolo, per tutte le righe c'è un valore, il calcolo viene eseguito correttamente il problema si pone nel momento in cui nella colonne ho tre righe ad esempio però solo le prime due o comunque una riga non presenta alcun valore. Mi da errore alla riga String elemento......

    come posso gestire questa eccezione?????

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema con calcolo su JTable aiuto per favore

    Originariamente inviato da bircastri
    il problema si pone nel momento in cui nella colonne ho tre righe ad esempio però solo le prime due o comunque una riga non presenta alcun valore. Mi da errore alla riga String elemento......

    come posso gestire questa eccezione?????
    La questione è ... cosa è e fa quel tuo metodo getValute() ? Cosa ritorna se non c'è il valore nella cella? null? Allora un banale test, se null non fai nemmeno parseDouble e la somma. Tutto qui.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    questo è il problema che non si capisce che cosa ritorna nel momento in cui nella cella non c'è un elemento.

    il codice in errore è questo

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at MainPanel$MyTableModel.calcolaGrassiContrario(Main Panel.java:760)
    at MainPanel$MyTableModel.setValueAt(MainPanel.java:6 78)
    at javax.swing.JTable.setValueAt(Unknown Source)
    at javax.swing.JTable.editingStopped(Unknown Source)
    at javax.swing.AbstractCellEditor.fireEditingStopped( Unknown Source)
    at javax.swing.DefaultCellEditor$EditorDelegate.stopC ellEditing(Unknown Source)
    at javax.swing.DefaultCellEditor.stopCellEditing(Unkn own Source)
    at javax.swing.JTable$GenericEditor.stopCellEditing(U nknown Source)
    at javax.swing.plaf.basic.BasicTableUI$Actions.action Performed(Unknown Source)
    at javax.swing.SwingUtilities.notifyAction(Unknown Source)
    at javax.swing.JComponent.processKeyBinding(Unknown Source)
    at javax.swing.JTable.processKeyBinding(Unknown Source)
    at javax.swing.JComponent.processKeyBindings(Unknown Source)
    at javax.swing.JComponent.processKeyEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.KeyboardFocusManager.redispatchEvent(Unkn own Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEv ent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKe yEvent(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAsse rtions(Unknown Source)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent (Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    l'errore viee segnalato alla riga e = table.getValue(row,col);

  4. #4
    allora ho risolto impostando un try{}catch(NullPointerException e)

    adesso non da più errore

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.