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

    JAVA - Controllo valori colonna JTable

    ciao a tutti
    ho una tabella con 2 colonne con dei dati inseriti tramite DB ed un'altra colonna con tutti i campi vuoti, in cui bisogna inserire dei numeri per poi moltiplicarli con uno dei 2 campi presi dal Database.
    Ecco il codice dell'actionperformed del pulsante che fa fare il calcolo:

    codice:
    public void actionPerformed(ActionEvent e) {
    
    		double temp;
    		Vector resa = new Vector();
    		Vector prezzi = new Vector(); 
    		for(int i=0;i<4;i++) {
    			prezzi.addElement(tabella.getModel().getValueAt(i,1).toString());
    			String controlloResa = tabella.getModel().getValueAt(i,2).toString();
    			if(controlloResa.length()!=0)
    				resa.addElement(tabella.getModel().getValueAt(i,2).toString());
    			else {
    				String zero = new String("0");
    				resa.addElement(zero);
    			}
    			temp = Double.parseDouble(prezzi.get(i).toString()) * Double.parseDouble(resa.get(i).toString());
    			risultato += temp;
    		}
    		risultatoCalcolo.setText("Il Risultato dello Sviluppo è: \n "+ risultato);
    	}

    il problema è questo:
    quando apro la tabella se non inserisco nessun valore e premo il pulsante si genera un NullPointerException.
    Ho fatto varie prove commentando le ultime righe ed ho scoperto che sorge qui:
    <<resa.addElement(tabella.getModel().getValueAt(i, 2).toString());>>
    se al posto di (i,2) metto (i,1) non ci sono problemi in quanto prende la colonna del DB, ma quando metto 2 (la colonna con le celle vuote) spunta l'errore!
    Mentre se inserisco in tutte le celle un valore, il risultato è esatto e non ottengo eccezioni.

    Inoltre ho notato una cosa strana:
    Se inserisco tutti i dati, premo il pulsante, poi cancello uno dei dati e ripremo il tasto, il risultato viene generato senza errori.
    Se, invece, inserisco i dati omettendone uno (o più di uno) e premo il pulsante, viene generato l'errore.

    Qualcuno ha qualche idea a riguardo?
    Scusate per l'eccessiva lunghezza!

  2. #2
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    a me sembra che il numero di riga e di colonna in getValueAt vada da 0 a lenght - 1

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 © 2024 vBulletin Solutions, Inc. All rights reserved.