Ciao a tutti!
Ho questo metodo nella classe PannelloTabella:
Il problema è nel metodo leggiDosi() (in rosso) che dovrebbe eseguire una lettura del file "Dosi.dat" e stamparmi a video le informazioni sugli oggetti che contiene, ma questo non accade!codice:public void actionPerformed(ActionEvent e) { if (e.getSource() == b3) { TabellaOrdini t = new TabellaOrdini(); int col = t.getColumnCount(); int righe = t.getRowCount(); t.setLastRow(righe - 1); int ultimaRiga = t.getLastRow(); for (int i=1; i<=col-1; i++){ String nomeProdotto = t.getColumnName(i); Float totale = (Float)t.getValueAt(ultimaRiga, i); Dosi d = new Dosi(nomeProdotto, totale); Prodotto p = new Prodotto(nomeProdotto); GestioneProdotti gp = new GestioneProdotti(); Prodotto p2 = gp.cercaProdotto(PRODOTTI, p); d.calcolaDosi(p2); DOSI.insert(d); } GestioneDosi gd = new GestioneDosi(); gd.salvaDosi(DOSI); System.out.println("Oggetti nel file"); gd.leggiDosi(); } }
Mi stampa a video solo "Oggetti nel file"...ma nessun altra cosa!
Eppure il file esiste!
codice:/** Metodo per leggere da file oggetti di classe Dosi. */ public void leggiDosi() { FileInputStream fis = null; ObjectInputStream is = null; try { fis = new FileInputStream("Dosi.dat"); is = new ObjectInputStream(fis); } catch (IOException e) { System.out.println("Errore 3"); e.printStackTrace(); System.exit(3); } ListNode l2 = null; try { l2 = (ListNode)(is.readObject()); is.close(); } catch (IOException e) { System.out.println("Errore 4"); e.printStackTrace(); System.exit(4); } catch (ClassNotFoundException e) { System.out.println("Errore 5"); e.printStackTrace(); System.exit(5); } int lunghezza = l2.length(); for (int i=0; i<lunghezza; i++) { stampaDatiDosi((Dosi)l2.head()); l2 = (ListNode)l2.tail(); } }
Questo metodo è nella classe GestioneDosi!codice:/** Metodo per stampare i dati di un oggetto Dosi. */ public void stampaDatiDosi(Dosi d) { System.out.println(d.getNomeProdotto()); System.out.println(d.getTotale()); ListNode ing = d.getIngConDosi(); int lunghezza = ing.length(); for (int i=0; i<lunghezza; i++) { IngredienteConDose ING = (IngredienteConDose)ing.head(); System.out.println(ING.getNome()); System.out.println(ING.getDose()); ing = (ListNode)ing.tail(); } }
Qualcuno sapreppe dirmi come mai non mi stampa a video nessun dato?
GRAZIE MILLE!
![]()

Rispondi quotando