Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 28
  1. #11
    Si esatto...l'errore sta proprio nel costruttore. Infatti instanzi una nuova JTable che ha visibilità solo nel costruttore e non fa rifermento alla table della classe. Pertanto quest'ultima rimane null.
    Al mio segnale... scatenate l'inferno!

  2. #12
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    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!

  3. #13
    che errori da?
    Al mio segnale... scatenate l'inferno!

  4. #14
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    Mi sono sbagliata...la parte che dà errori è solo questa:
    codice:
    table.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent evt) {
                    tablePropertyChange(evt);
                }
            });
    ERRORI:
    codice:
    <identifier> expected
    illegal start of type
    illegal start of expression
    class, interface, or enum expected
    class, interface, or enum expected
    GRAZIE ANCORA!

  5. #15
    Mi sa che è un errore di bilanciamento di parentesi graffe... prova a ricontrollare per bene in tutta la classe
    Al mio segnale... scatenate l'inferno!

  6. #16
    Scusa... ora ho visto meglio... quella parte di codice va messa all'interno di un metodo magari come ultima istruzione del costruttore

    Al mio segnale... scatenate l'inferno!

  7. #17
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    Già...che sbadata!!
    GRAZIE MILLE!

  8. #18
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    Ho spostato il pezzo di codice qui:
    codice:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    
    public class PannelloTabella extends JPanel {
        private ListNode CLIENTI, PRODOTTI;
        private JTable table;
        private JScrollPane scrollPane;
        private JButton b;
        private JLabel jl;
        private JTextField txt;
    
        public PannelloTabella(ListNode CLIENTI, ListNode PRODOTTI) {
            this.CLIENTI = CLIENTI;
            this.PRODOTTI = PRODOTTI;
            
            setBackground(new Color(41,148,255));
            
            jl = new JLabel("Data:");
            txt = new JTextField(8);
            txt.setEditable(true);
            
            GestioneTabellaOrdini gt = new GestioneTabellaOrdini(CLIENTI, PRODOTTI);
            table = gt.creaTabellaOrdini();
            scrollPane = new JScrollPane(table);
            
            b = new JButton("STAMPA");
            
            add(jl);
            add(txt);
            add(scrollPane);
            add(b);
            
            table.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
                public void propertyChange(java.beans.PropertyChangeEvent evt) {
                    tablePropertyChange(evt);
                }
            });
            
        }
        
        
    }
    Ora mi dice "cannot find symbol" nella riga in rosso!
    GRAZIE PER LA TUA PAZIENZA!

  9. #19
    devi spostare anche il metodo tablePropertyChange
    Al mio segnale... scatenate l'inferno!

  10. #20
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    225
    GRAZIE MILLE!
    Ora io dovrei stampare e salvare la finestra con la tabella!!!
    E' un casino???
    Il nostro professore non ci ha neanche accennato come si esegue una stampa, e nemmeno ne parla il libro che ci ha dato!
    GRAZIE ANCORA!

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.