Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 35
  1. #1

    please help me bug vari da risolvere

    ciao a tutti! nella seguente discussione ho postato un programma che aveva dei problemi ora quei problemi li ho quasi risolti solo che mi manca qualche bug.

    http://forum.html.it/forum/showthrea...Panel+e+jTable

    la jTable è la stessa solo che ho sostituito il Jpanel con un JDialog
    pero il codice è cambiato di molto. infatti questa versione del progetto è meglio della versione del link. guardate il link perchè questa discussione e la revisione della discusione del link precedente però questa volta è la versione definitiva o quasi del progetto.(Jdesktop application in java con netbeans 6.9.1).
    sopratutto anche saltando la lettura del link che ho messo perchè mi sembrava giusto metterlo penso che si può lo stesso risolvere il problema.

    ecco:

    i messagi d'errore:

    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
            at analisiperreparto.calcoli.aggiungiReparto(calcoli.java:155)
            at analisiperreparto.AnalisiperrepartoView.btnaggiungiRepartoActionPerformed(AnalisiperrepartoView.java:282)
            at analisiperreparto.AnalisiperrepartoView.access$500(AnalisiperrepartoView.java:23)
            at analisiperreparto.AnalisiperrepartoView$5.actionPerformed(AnalisiperrepartoView.java:179)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
            at java.awt.Component.processMouseEvent(Component.java:6175)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
            at java.awt.Component.processEvent(Component.java:5940)
            at java.awt.Container.processEvent(Container.java:2105)
            at java.awt.Component.dispatchEventImpl(Component.java:4536)
            at java.awt.Container.dispatchEventImpl(Container.java:2163)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
            at java.awt.Container.dispatchEventImpl(Container.java:2149)
            at java.awt.Window.dispatchEventImpl(Window.java:2478)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
            at analisiperreparto.calcoli.aggiorna2(calcoli.java:116)
            at analisiperreparto.AnalisiperrepartoView.btncalcolaActionPerformed(AnalisiperrepartoView.java:288)
            at analisiperreparto.AnalisiperrepartoView.access$600(AnalisiperrepartoView.java:23)
            at analisiperreparto.AnalisiperrepartoView$6.actionPerformed(AnalisiperrepartoView.java:189)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
            at java.awt.Component.processMouseEvent(Component.java:6175)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
            at java.awt.Component.processEvent(Component.java:5940)
            at java.awt.Container.processEvent(Container.java:2105)
            at java.awt.Component.dispatchEventImpl(Component.java:4536)
            at java.awt.Container.dispatchEventImpl(Container.java:2163)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
            at java.awt.Container.dispatchEventImpl(Container.java:2149)
            at java.awt.Window.dispatchEventImpl(Window.java:2478)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    22-mar-2011 18.22.46 org.jdesktop.application.Application$1 run
    GRAVE: Application class analisiperreparto.AnalisiperrepartoApp failed to launch
    java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
            at java.util.ArrayList.rangeCheck(ArrayList.java:571)
            at java.util.ArrayList.get(ArrayList.java:349)
            at analisiperreparto.calcoli.getnomiColonne(calcoli.java:54)
            at analisiperreparto.AnalisiperrepartoView$1.getColumnName(AnalisiperrepartoView.java:50)
            at javax.swing.JTable.addColumn(JTable.java:2803)
            at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:1287)
            at javax.swing.JTable.tableChanged(JTable.java:4390)
            at javax.swing.JTable.setModel(JTable.java:3692)
            at analisiperreparto.AnalisiperrepartoView.initComponents(AnalisiperrepartoView.java:159)
            at analisiperreparto.AnalisiperrepartoView.<init>(AnalisiperrepartoView.java:54)
            at analisiperreparto.AnalisiperrepartoApp.startup(AnalisiperrepartoApp.java:19)
            at org.jdesktop.application.Application$1.run(Application.java:171)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    
    Exception in thread "AWT-EventQueue-0" java.lang.Error: Application class analisiperreparto.AnalisiperrepartoApp failed to launch
            at org.jdesktop.application.Application$1.run(Application.java:177)
            at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:226)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:602)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    Caused by: java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
            at java.util.ArrayList.rangeCheck(ArrayList.java:571)
            at java.util.ArrayList.get(ArrayList.java:349)
            at analisiperreparto.calcoli.getnomiColonne(calcoli.java:54)
            at analisiperreparto.AnalisiperrepartoView$1.getColumnName(AnalisiperrepartoView.java:50)
            at javax.swing.JTable.addColumn(JTable.java:2803)
            at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:1287)
            at javax.swing.JTable.tableChanged(JTable.java:4390)
            at javax.swing.JTable.setModel(JTable.java:3692)
            at analisiperreparto.AnalisiperrepartoView.initComponents(AnalisiperrepartoView.java:159)
            at analisiperreparto.AnalisiperrepartoView.<init>(AnalisiperrepartoView.java:54)
            at analisiperreparto.AnalisiperrepartoApp.startup(AnalisiperrepartoApp.java:19)
            at org.jdesktop.application.Application$1.run(Application.java:171)
            ... 8 more

  2. #2
    il codice segnalato:

    Calcoli:

    codice:
    
    nuovo[i][j] = o[i][j];
    
    o[0][colonne - 1] = df.format(a);
    
    String nome = costi.get(c - 1).getNome();
    
    
    View :
    codice:
    
    public class AnalisiperrepartoView extends FrameView {
    
        btnaggiungiRepartoActionPerformed(evt);
    
          btncalcolaActionPerformed(evt);
    
                c.aggiungiReparto(ar.getReparto());
    
            c.aggiorna2();
    return c.getnomiColonne(getColumnCount());
          initComponents();
    tbanalisi.setModel(tm);
    
    }
    
    App:
    codice:
    
        show(new AnalisiperrepartoView(this));
    

  3. #3
    codice prodotto:
    View;

    codice:
    package analisiperreparto;
    
    import org.jdesktop.application.Action;
    import org.jdesktop.application.ResourceMap;
    import org.jdesktop.application.SingleFrameApplication;
    import org.jdesktop.application.FrameView;
    import org.jdesktop.application.TaskMonitor;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.Timer;
    import javax.swing.Icon;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.table.AbstractTableModel;
    
    public class AnalisiperrepartoView extends FrameView {
    
        calcoli c;
        aggiungiReparto ar;
        AbstractTableModel tm;
    
        public AnalisiperrepartoView(SingleFrameApplication app) {
            super(app);
            c = new calcoli();
            ar = new aggiungiReparto(getFrame(), true);
            tm = new AbstractTableModel() {
    
                public int getRowCount() {
                    return c.getRighe();
                }
    
                public int getColumnCount() {
                    return c.getColonne();
                }
    
                public Object getValueAt(int rowIndex, int columnIndex) {
                    return c.getValore(rowIndex, columnIndex);
                }
    
                @Override
                public String getColumnName(int column) {
    
                    return c.getnomiColonne(getColumnCount());
    
                }
            };
    
    initComponents();
            tbanalisi.getTableHeader().setResizingAllowed(false);
        private void btnaggiungiRepartoActionPerformed(java.awt.event.ActionEvent evt) {                                                   
            ar.setVisible(true);
            if (ar.finito) {
    
    
                c.aggiungiReparto(ar.getReparto());
    
            }
            tm.fireTableStructureChanged();
        }                                                  
    
        private void btncalcolaActionPerformed(java.awt.event.ActionEvent evt) {                                           
     
    c.aggiorna2();
         
       
        }
    jDialog form aggiungiReparto:

    codice:
    package analisiperreparto;
    
    public class aggiungiReparto extends javax.swing.JDialog {
    
        reparto rap;
        String nome;
        double vendita, costovenduto, stipendieonerisociali, stipendiodirezionale, ammortamento;
        double trasporto, mesi, tasso, costiammortizare, pubblicita, imposte, amministrazione, consulenza;
        boolean finito = false;
    
     
        public aggiungiReparto(java.awt.Frame parent, boolean modal) {
            super(parent, modal);
            initComponents();
        }
    
        public reparto getReparto() {
            return rap;
        }
    
        public boolean isFinito() {
            return finito;
        }
        
        private void btnAggiungiActionPerformed(java.awt.event.ActionEvent evt) {                                            
            nome = txtnome.getText();
            try {
                vendita = new Double(txtvendita.getText());
                costovenduto = new Double(txtcostovenduto.getText());
                stipendieonerisociali = new Double(txtstip.getText());
                stipendiodirezionale = new Double(txtstipd.getText());
                ammortamento = new Double(txtammo.getText());
                costiammortizare = new Double(txtcoamm.getText());
                trasporto = new Double(txttrasp.getText());
                pubblicita = new Double(txtpubblicita.getText());
                imposte = new Double(txtimposte.getText());
                amministrazione = new Double(txtamministrazione.getText());
                consulenza = new Double(txtconsulenza.getText());
                tasso = new Double(txttasso.getText());
                mesi = new Double(txtmesi.getText());
            } catch (NumberFormatException e) {
                System.err.println("inserisci solo numeri");
                txtvendita.setText("");
                txtcostovenduto.setText("");
                txtstip.setText("");
                txtstipd.setText("");
                txtmesi.setText("");
                txttasso.setText("");
                txtammo.setText("");
                txtcoamm.setText("");
                txttrasp.setText("");
                txtpubblicita.setText("");
                txtimposte.setText("");
                txtamministrazione.setText("");
                txtconsulenza.setText("");
                txtvendita.grabFocus();
                txtcostovenduto.grabFocus();
                txtstip.grabFocus();
                txtstipd.grabFocus();
                txtammo.grabFocus();
                txtcoamm.grabFocus();
                txttrasp.grabFocus();
                txtpubblicita.grabFocus();
                txtimposte.grabFocus();
                txtamministrazione.grabFocus();
                txtconsulenza.grabFocus();
                txtmesi.grabFocus();
                txttasso.grabFocus();
                return;
            }
            if (txttasso.getText().isEmpty() && txtmesi.getText().isEmpty() && nome.isEmpty() && txtvendita.getText().isEmpty() && txtcostovenduto.getText().isEmpty() && txtstip.getText().isEmpty() && txtstipd.getText().isEmpty() && txtammo.getText().isEmpty() && txtcoamm.getText().isEmpty() && txttrasp.getText().isEmpty() && txtpubblicita.getText().isEmpty() && txtimposte.getText().isEmpty() && txtamministrazione.getText().isEmpty() && txtconsulenza.getText().isEmpty()) {
                System.err.println("inserisci i valori richiesti");
                txtvendita.grabFocus();
                txtcostovenduto.grabFocus();
                txtstip.grabFocus();
                txtstipd.grabFocus();
                txtammo.grabFocus();
                txtcoamm.grabFocus();
                txttrasp.grabFocus();
                txtpubblicita.grabFocus();
                txtimposte.grabFocus();
                txtamministrazione.grabFocus();
                txtconsulenza.grabFocus();
                txtnome.grabFocus();
                txtmesi.grabFocus();
                txttasso.grabFocus();
                return;
            } else if (txttasso.getText().isEmpty() || txtmesi.getText().isEmpty() || nome.isEmpty() || txtvendita.getText().isEmpty() || txtcostovenduto.getText().isEmpty() || txtstip.getText().isEmpty() || txtstipd.getText().isEmpty() || txtammo.getText().isEmpty() || txtcoamm.getText().isEmpty() || txttrasp.getText().isEmpty() || txtpubblicita.getText().isEmpty() || txtimposte.getText().isEmpty() || txtamministrazione.getText().isEmpty() || txtconsulenza.getText().isEmpty()) {
                System.err.println("inserisci i valori mancanti");
                txtvendita.grabFocus();
                txtcostovenduto.grabFocus();
                txtstip.grabFocus();
                txtstipd.grabFocus();
                txtammo.grabFocus();
                txtcoamm.grabFocus();
                txttrasp.grabFocus();
                txtpubblicita.grabFocus();
                txtimposte.grabFocus();
                txtamministrazione.grabFocus();
                txtconsulenza.grabFocus();
                txtnome.grabFocus();
                txtmesi.grabFocus();
                txttasso.grabFocus();
                return;
            } else {
                rap = new reparto(tasso, mesi, nome, vendita, costovenduto, stipendieonerisociali, stipendiodirezionale, ammortamento, trasporto, pubblicita, imposte, amministrazione, consulenza);
                finito = false;
                this.setVisible(true);
    
    
            }
    }                                           
    
        private void btnavantiActionPerformed(java.awt.event.ActionEvent evt) {                                          
            this.setVisible(false);
            finito = true;
    }                                         
    
      
        public static void main(String args[]) {
            java.awt.EventQueue.invokeLater(new Runnable() {
    
                public void run() {
                    aggiungiReparto dialog = new aggiungiReparto(new javax.swing.JFrame(), true);
                    dialog.addWindowListener(new java.awt.event.WindowAdapter() {
    
                        @Override
                        public void windowClosing(java.awt.event.WindowEvent e) {
                            System.exit(0);
                        }
                    });
                    dialog.setVisible(true);
                }
            });
        }

  4. #4
    reparto:

    codice:
    package analisiperreparto;
    
    public class reparto extends Object {
    
        String nome;
        double vendita, costovenduto, stipendieonerisociali, stipendiodirezionale, ammortamento;
        double trasporto, mesi, tasso, costiammortizare, pubblicita, imposte, amministrazione, consulenza;
    
        public reparto(double mesi, double tasso, String nome, double vendita, double costovenduto, double stipendieonerisociali, double stipendiodirezionale, double ammortamento, double trasporto, double pubblicita, double imposte, double amministrazione, double consulenza) {
            this.nome = nome;
            this.tasso = tasso;
            this.mesi = mesi;
            this.vendita = vendita;
            this.costovenduto = costovenduto;
            this.stipendieonerisociali = stipendieonerisociali;
            this.stipendiodirezionale = stipendiodirezionale;
            this.ammortamento = ammortamento;
            this.trasporto = trasporto;
            this.pubblicita = pubblicita;
            this.imposte = imposte;
            this.amministrazione = amministrazione;
            this.consulenza = consulenza;
        }
    
        public double getMesi() {
            return mesi;
        }
    
        public double getTasso() {
            return tasso;
        }
    
        public double getamministrazoneConsulenza() {
            return getAmministrazione() + getConsulenza();
        }
    
        public double getAmministrazione() {
            return amministrazione;
        }
    
        public double getConsulenza() {
            return consulenza;
        }
    
        public double getImposte() {
            return imposte;
        }
    
        public double getPubblicita() {
            return pubblicita;
        }
    
        public double getStipendiodirezionale() {
            return stipendiodirezionale;
        }
    
        public double getcostiAmmortizare() {
            return costiammortizare;
        }
    
        public double getAmmortamento() {
            return (ammortamento * getcostiAmmortizare()) / 100;
        }
    
        public double getpublicitaimpostestipendioDirezionale() {
            return getPubblicita() + getImposte() + getStipendiodirezionale();
        }
    
        public double getStipendieonerisociali() {
            return stipendieonerisociali;
        }
    
        public double getTrasporto() {
            return trasporto;
        }
    
        public double getcostoVenduto() {
            return costovenduto;
        }
    
        public String getNome() {
            return nome;
        }
    
        public double getVendita() {
            return vendita;
        }
    
        public double getMargineLordo() {
            return getVendita() - getcostoVenduto();
        }
    
        public double getinterresseFiguartivo() {
            double x = 0;
            x = (getTasso() * getMesi() * getStipendiodirezionale()) / (12 * 100);
            return x;
        }
    
        public double getcostiDiretti() {
            double x = 0;
            x += getStipendieonerisociali() + getAmmortamento() + getinterresseFiguartivo();
            return x;
        }
    
        public double getcostiIndiretti() {
            double x = 0;
            x += getamministrazoneConsulenza() + getpublicitaimpostestipendioDirezionale() + getTrasporto();
            return x;
        }
    
        public double getcostiDistribuzione() {
            return getcostiDiretti() + getcostiIndiretti();
        }
    
        public double getutileNetto() {
            return getMargineLordo() - getcostiDistribuzione();
        }
    }
    calcoli:

    codice:
    package analisiperreparto;
    
    import java.text.DecimalFormat;
    import java.util.ArrayList;
    
    public class calcoli {
    
        int righe = 13, colonne = 2, nReparti;
        Object[][] o = new Object[righe][colonne];
        ArrayList<reparto> costi = new ArrayList<reparto>();
        ArrayList<calcoli> c = new ArrayList<calcoli>();
        DecimalFormat df = new DecimalFormat("#,##0.00");
    
        public calcoli() {
    
            o[0][0] = "vendite:";
            o[1][0] = "costo del venduto:";
            o[2][0] = "margine lordo:";
            o[3][0] = "stipendi e oneri sociali=";
            o[4][0] = "ammortamento=";
            o[5][0] = "interesse figurativo=";
            o[6][0] = "costi diretti:";
            o[7][0] = "trasporto=";
            o[8][0] = "publicità=";
            o[9][0] = "amministrazione=";
            o[10][0] = "costi indiretti:";
            o[11][0] = "costi di distribuzione:";
            o[12][0] = "utile netto:";
    
        }
    
        public int getColonne() {
            return colonne;
        }
    
        public Object getValore(int r, int c) {
            return o[r][c];
        }
    
        public int getRighe() {
            return righe;
        }
    
        public int getnreparti() {
            return nReparti;
        }
     
    
    public String getnomiColonne(int c) {
            if (c == 0) {
                return "descrizione";
            } else if (c == colonne - 1) {
                return "totali";
            } else {
                String nome = costi.get(c - 1).getNome();
                return nome;
            }
        }
    
    
        
    
        public void aggiorna() {
            double a = 0, b = 0, beta = 0, alfa = 0, d = 0, e = 0, f = 0, g = 0, h = 0, s = 0, l = 0, m = 0, n = 0;
            int i = 0;
            while (i < costi.size()) {
                a += costi.get(i).getVendita();
                b += costi.get(i).getcostoVenduto();
                alfa += costi.get(i).getMargineLordo();
                d += costi.get(i).getStipendieonerisociali();
                e += costi.get(i).getAmmortamento();
                f += costi.get(i).getinterresseFiguartivo();
                g += costi.get(i).getcostiDiretti();
                h += costi.get(i).getTrasporto();
                s += costi.get(i).getpublicitaimpostestipendioDirezionale();
                beta += costi.get(i).getamministrazoneConsulenza();
                l += costi.get(i).getcostiIndiretti();
                m += costi.get(i).getcostiDistribuzione();
                n += costi.get(i).getutileNetto();
                i++;
            }
    
            o[0][colonne - 1] = df.format(a);
            o[1][colonne - 1] = df.format(b);
            o[2][colonne - 1] = df.format(alfa);
            o[3][colonne - 1] = df.format(d);
            o[4][colonne - 1] = df.format(e);
            o[5][colonne - 1] = df.format(f);
            o[6][colonne - 1] = df.format(g);
            o[7][colonne - 1] = df.format(h);
            o[8][colonne - 1] = df.format(s);
            o[9][colonne - 1] = df.format(beta);
            o[10][colonne - 1] = df.format(l);
            o[11][colonne - 1] = df.format(m);
            o[12][colonne - 1] = df.format(n);
        }
    
        public void aggiorna2() {
            double a = 0, beta = 0, b = 0, alfa = 0, d = 0, e = 0, f = 0, g = 0, h = 0, s = 0, l = 0, m = 0, n = 0;
            int i = 0;
            while (i < c.size()) {
                a += c.get(i).getVedite();
                b += c.get(i).getcostodelVenduto();
                alfa += c.get(i).getMargineLordo();
                d += c.get(i).getStipendieonerisociali();
                e += c.get(i).getAmmortamento();
                f += c.get(i).getinterresseFiguartivo();
                g += c.get(i).getCostiDiretti();
                h += c.get(i).getTrasporto();
                s += c.get(i).getpublicitaimpostestipendioDirezionale();
                beta += c.get(costi.size() - 1).getamministrazoneConsulenza();
                l += c.get(i).getCostiIndiretti();
                m += c.get(i).getcostiDistribuzione();
                n += c.get(i).getUtileNetto();
                i++;
            }
     
     o[0][colonne - 1] = df.format(a);
    
            o[1][colonne - 1] = df.format(b);
            o[2][colonne - 1] = df.format(alfa);
            o[3][colonne - 1] = df.format(d);
            o[4][colonne - 1] = df.format(e);
            o[5][colonne - 1] = df.format(f);
            o[6][colonne - 1] = df.format(g);
            o[7][colonne - 1] = df.format(h);
            o[8][colonne - 1] = df.format(s);
            o[9][colonne - 1] = df.format(beta);
            o[10][colonne - 1] = df.format(l);
            o[11][colonne - 1] = df.format(m);
            o[12][colonne - 1] = df.format(n);
    
    
    
        }
    
        public void aggiungiReparto(reparto rap) {
            costi.add(rap);
            double[] costirap = new double[13];
            costirap[0] = costi.get(costi.size() - 1).getVendita();
            costirap[1] = costi.get(costi.size() - 1).getcostoVenduto();
            costirap[2] = costi.get(costi.size() - 1).getMargineLordo();
            costirap[3] = costi.get(costi.size() - 1).getStipendieonerisociali();
            costirap[4] = costi.get(costi.size() - 1).getAmmortamento();
            costirap[5] = costi.get(costi.size() - 1).getinterresseFiguartivo();
            costirap[6] = costi.get(costi.size() - 1).getcostiDiretti();
            costirap[7] = costi.get(costi.size() - 1).getTrasporto();
            costirap[8] = costi.get(costi.size() - 1).getpublicitaimpostestipendioDirezionale();
            costirap[9] = costi.get(costi.size() - 1).getamministrazoneConsulenza();
            costirap[10] = costi.get(costi.size() - 1).getcostiIndiretti();
            costirap[11] = costi.get(costi.size() - 1).getcostiDistribuzione();
            costirap[12] = costi.get(costi.size() - 1).getutileNetto();
            colonne += 1;
            Object[][] nuovo = new Object[righe][colonne];
            for (int i = 0; i < colonne; i++) {
                for (int j = 0; j < righe; j++) {
                    if (i < colonne - 2) {
     
     nuovo[i][j]=o[i][j];
     
    
                    } else if (i == colonne - 2) {
                        nuovo[i][j] = costirap[i];
                    } else {
                        nuovo[i][j] = o[i][j - 1];
                    }
                }
            }
            o = nuovo;
            this.aggiorna();
    
        }
    
        public double getamministrazoneConsulenza() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getamministrazoneConsulenza()) * nReparti;
            }
            return x;
        }
    
        public double getinterresseFiguartivo() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getinterresseFiguartivo()) * nReparti;
            }
            return x;
        }
    
        public double getAmmortamento() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getAmmortamento()) * nReparti;
            }
            return x;
        }
    
        public double getpublicitaimpostestipendioDirezionale() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getpublicitaimpostestipendioDirezionale()) * nReparti;
            }
    
            return x;
        }
    
        public double getStipendieonerisociali() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getStipendieonerisociali()) * nReparti;
            }
    
            return x;
        }
    
        public double getTrasporto() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getTrasporto()) * nReparti;
            }
            return x;
        }
    
        public double getCostiDiretti() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getcostiDiretti()) * nReparti;
            }
            return x;
        }
    
        public double getCostiIndiretti() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getcostiIndiretti()) * nReparti;
            }
            return x;
        }
    
        public double getcostiDistribuzione() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getcostiDistribuzione()) * nReparti;
            }
            return x;
        }
    
        public double getMargineLordo() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getMargineLordo()) * nReparti;
            }
            return x;
        }
    
        public double getUtileNetto() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getutileNetto()) * nReparti;
            }
            return x;
        }
    
        public double getVedite() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getVendita()) * nReparti;
            }
            return x;
        }
    
        public double getcostodelVenduto() {
            double x = 0;
            int i = 0;
            while (i < costi.size()) {
                x += (costi.get(i).getcostoVenduto()) * nReparti;
            }
            return x;
        }
    }

  5. #5

    un po' di spiegazione

    come risolvo i bug? e come mai si sono verificati? e cosa significano? non come risolvere per andare avanti.
    comunque il metodo getnomiColonne(int c){[..]} dovrebbe dar il nome alle colonne.
    l'aggiungi reparto aggiunge una colonna ogni reparto aggiunto. il metodo aggiorna dovrebbe stampare i risultati dei calcoli dei metodi della classe reparto per ogni reparto aggiunto che vengono stampati nella colonna che rappresenta.infine aggiorna2 invece riguarda per i risultati dei calcoli dei metodi della classe calcoli e questi calcoli dovrebbero essere stampati nell'ultima colonna .
    infine il costruttore della classe stampa nella prima colonna il nome delle righe.
    il codice in grasetto è quello che mi dice che c'è un errore. quello in rosso è lo stesso dove c'è errore ma lo evidenziato perchè era mischiato con il resto del codice e che è prodotto da me.

  6. #6
    infine alcuni errori rilevati nel mio debug che ho fatto. come li risolvo?
    risulta nelle seguente varibili dopo aver aggiunto 1 reparto che non si aggiornino infatti :
    costi da ammortizare: 0.0 double dovrebbe risultare 12.0 come ho inserito io nel jdialog nell'aposito jtextfiel
    nReparti: 0.0 int dovrebbe essere 1 essendo che ho aggiunto 1 reparto.
    infatti dopo aver cliccato sul bottone aggiungi reparto della jdialog quando chiudo essa la jtable non si aggiorna con le nuove colonne derivanti dall'operazione di aggiungere reparti.

  7. #7
    vorrei per favore oltre a risoluzione dei problemi anche sapere inoltre se sono un buon livello in java? perchè sto imparando sono alle prime armi e vorrei sapere se sono su una buona strada di appredimento?
    magari su una scala da 1 a 10 dove 1 indica il livello minimo che è il nabbo di java e 10 è il pro di java. pro(profesionista o comunque esperto nell'uso del linguaggio ).

  8. #8
    ciao a tutti! ho risolto molti bug indicati in questa discussione, anzi manca solo quello indicato nel metodo aggiungiReparto nella classe calcoli che ancora non lo risolto. quindi la discussione la potete iniziare a leggere da qui.
    ecco il metodo:
    codice:
        
    public void aggiungiReparto(reparto rap) {
            costi.add(rap);
            double[] costirap = new double[13];
            costirap[0] = costi.get(costi.size() - 1).getVendita();
            costirap[1] = costi.get(costi.size() - 1).getcostoVenduto();
            costirap[2] = costi.get(costi.size() - 1).getMargineLordo();
            costirap[3] = costi.get(costi.size() - 1).getStipendieonerisociali();
            costirap[4] = costi.get(costi.size() - 1).getAmmortamento();
            costirap[5] = costi.get(costi.size() - 1).getinterresseFiguartivo();
            costirap[6] = costi.get(costi.size() - 1).getcostiDiretti();
            costirap[7] = costi.get(costi.size() - 1).getTrasporto();
            costirap[8] = costi.get(costi.size() - 1).getpublicitaimpostestipendioDirezionale();
            costirap[9] = costi.get(costi.size() - 1).getamministrazoneConsulenza();
            costirap[10] = costi.get(costi.size() - 1).getcostiIndiretti();
            costirap[11] = costi.get(costi.size() - 1).getcostiDistribuzione();
            costirap[12] = costi.get(costi.size() - 1).getutileNetto();
            colonne += 1;
            Object[][] nuovo = new Object[righe][colonne];
            for (int i = 0; i < colonne; i++) {
                for (int j = 0; j < righe; j++) {
                    if (i < colonne - 2) {
     
     nuovo[i][j]=o[i][j];
     
    
                    } else if (i == colonne - 2) {
                        nuovo[i][j] = costirap[i];
                    } else {
                        nuovo[i][j] = o[i][j - 1];
                    }
                }
            }
            o = nuovo;
            this.aggiorna();
    
        }
    l'istruzione in grassetto e quella che mi l'ide indica come sbagliata solo che non so dove sbaglio e come risolvere? se mi aiutate per favore. risolvo il bug peggiore e il programma potrà funzionare e una volta per tutte ho finito. il tale bug non mi permette di aggiungere reparti correttemente come vorrei sopratutto perchè quando ho finito di cliccare il bottone aggiungi della jdialog aggiungi reparto e poi clicco sul bottone avanti nella view non si aggiungono le colonne dei reparti. tutto il resto del programma funziona alla perfezione.

  9. #9
    Originariamente inviato da Cracker1992
    ...
    l'istruzione in grassetto e quella che mi l'ide indica come sbagliata...
    Se l'IDE ti segnala un errore su una determinata istruzione ti dice anche di che errore si tratta.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    ecco i codici di errore per l'istruzione in grasetto:
    codice:
    
    Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 2
    
            at analisiperreparto.calcoli.aggiungiReparto(calcoli.java:145)
            at analisiperreparto.AnalisiperrepartoView.btnaggiungiRepartoActionPerformed(AnalisiperrepartoView.java:280)
            at analisiperreparto.AnalisiperrepartoView.access$500(AnalisiperrepartoView.java:23)
            at analisiperreparto.AnalisiperrepartoView$5.actionPerformed(AnalisiperrepartoView.java:177)
            at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2012)
            at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2335)
            at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:404)
            at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:253)
            at java.awt.Component.processMouseEvent(Component.java:6175)
            at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
            at java.awt.Component.processEvent(Component.java:5940)
            at java.awt.Container.processEvent(Container.java:2105)
            at java.awt.Component.dispatchEventImpl(Component.java:4536)
            at java.awt.Container.dispatchEventImpl(Container.java:2163)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4461)
            at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4125)
            at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4055)
            at java.awt.Container.dispatchEventImpl(Container.java:2149)
            at java.awt.Window.dispatchEventImpl(Window.java:2478)
            at java.awt.Component.dispatchEvent(Component.java:4362)
            at java.awt.EventQueue.dispatchEvent(EventQueue.java:604)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:275)
            at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:200)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:185)
            at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:177)
            at java.awt.EventDispatchThread.run(EventDispatchThread.java:138)
    penso che quello che ho messo in grasetto sia il tipo di errore. pero non sono sicuro.
    nel caso sia quello dovrei modificare qualche dimensione della matrice perchè quella eccezzione indicata mi sembri riguardi la massima capacita dei vettori ma esendo che l'istruzione riguarda una matrice penso che sia una delle dimmensioni che non va.

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