Usa i tag code, così il codice è più leggibile:
E' difficile capire qual è il problema, visto che non hai postato tutto il codice, ma posso azzardare un'ipotesi:codice:public class GuiScontrino extends JFrame implements ActionListener{ private JScrollPane sp1; private JTable table; private JPanel center; public GuiScontrino(){ ......} public void actionPerformed(ActionEvent e){ System.out.println("primoaction"); ArrayList<Pietanza> perTable=new ArrayList<Pietanza>(GuiInizio.mpartenza.piet.values()); String nomeColonne[]={" ", "Codice", "Quantità", "Descrizione", "Costo unitario", "Totale"}; int numRighe=GuiInizio.mpartenza.piet.size(); //numero pietanze=numero righe int numColonne=6; //numero colonne Object[][] dati = new Object[numRighe][numColonne]; int i=0; int j=0; Object bottone=e.getSource(); if(bottone==primi) { for(Pietanza c:perTable){ if(c.getCategoria().toString().equalsIgnoreCase("PRIMI")) { dati [i][j+1]=c.getCodice(); dati [i][j+3]=c.getDescrizione(); dati [i][j+4]=c.getCosto(); i++; } } } else if(bottone==secondi) { for(Pietanza c:perTable){ if(c.getCategoria().toString().equalsIgnoreCase("SECONDI")) { dati [i][j+1]=c.getCodice(); dati [i][j+3]=c.getDescrizione(); dati [i][j+4]=c.getCosto(); i++; } } ecc...ecc... table = new JTable(dati,nomeColonne); sp1=new JScrollPane(table); center=new JPanel(); center.add(sp1); this.add(center,BorderLayout.CENTER); this.validate(); }
penso che il problema sia dato dal fatto che non vai a modificare j nei codice.. usi la stessa j sia nei primi che nei secondi...
![]()

Rispondi quotando