Ok...però ora c'è il problema dei totali!
Il compilatore mi dà errore in queste parti di codice in rosso:
codice:
import javax.swing.table.*;
import javax.swing.*;
public class GestioneTabellaOrdini {
private ListNode CLIENTI, PRODOTTI;
private JTable table;
public GestioneTabellaOrdini(ListNode CLIENTI, ListNode PRODOTTI) {
this.CLIENTI = CLIENTI;
this.PRODOTTI = PRODOTTI;
this.table= new JTable();
}
public JTable creaTabellaOrdini() {
GestioneProdotti gp = new GestioneProdotti();
String[] nomiProdotti = gp.getNomiProdotti(PRODOTTI);
int lunghezza = nomiProdotti.length;
String[] Prodotti = new String[lunghezza + 1];
Prodotti[0] = "";
for (int i=1; i<=lunghezza; i++){
Prodotti[i] = nomiProdotti[i-1];
}
GestioneClienti gc = new GestioneClienti();
String[] nomiClienti = gc.getNomiClienti(CLIENTI);
int lung = nomiClienti.length;
String[] Clienti = new String[lung + 2];
for (int i=0; i<lung; i++) {
Clienti[i] = nomiClienti[i];
}
Clienti[lung] = "";
Clienti[lung + 1] = "TOTALI";
Object[][] datiCelle = new Object[Clienti.length][Prodotti.length];
/** Costruisco la griglia mettendo in prima colonna i clienti. */
for (int i=0; i<Clienti.length; i++) {
datiCelle[i][0] = Clienti[i];
for (int k=1; k<Prodotti.length; k++) {
datiCelle[i][k] = "";
}
}
TabellaOrdini myTable = new TabellaOrdini(datiCelle, Prodotti);
myTable.setLastRow(Clienti.length-1);
table.setModel(myTable);
return table;
}
public void tablePropertyChange(java.beans.PropertyChangeEvent evt) {
int indiceRiga = table.getSelectionModel().getAnchorSelectionIndex();
int indiceColonna = table.getColumnModel().getSelectionModel().getAnchorSelectionIndex();
int righe = table.getModel().getRowCount()-2;
float somma = 0;
if (indiceColonna != -1) {
for (int i=0; i<righe; i++) {
Object valore = table.getValueAt(i, indiceColonna);
valore = valore!=null && !valore.equals("") ?
valore.toString().repleaceAll(",","\\.") : "0";
somma = somma + Float.parseFloat(valore.toString());
}
table.setValueAt(somma, table.getModel().getRowCount()-1, indiceColonna);
}
}
table.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
public void propertyChange(java.beans.PropertyChangeEvent evt) {
tablePropertyChange(evt);
}
});
}
GRAZIE MILLE!