Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Problema con java.lang.NullPointerException

    Ciao a tutti, ho un problema con questo programma, mi genera questa eccezione:

    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at javax.swing.JList$1.getSize(JList.java:315)
    	at javax.swing.JList.getPreferredScrollableViewportSize(JList.java:1914)
    	at javax.swing.ViewportLayout.preferredLayoutSize(ViewportLayout.java:75)
    	at java.awt.Container.preferredSize(Container.java:1558)
    	at java.awt.Container.getPreferredSize(Container.java:1543)
    	at javax.swing.JComponent.getPreferredSize(JComponent.java:1584)
    	at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:475)
    	at java.awt.Container.preferredSize(Container.java:1558)
    	at java.awt.Container.getPreferredSize(Container.java:1543)
    	at javax.swing.JComponent.getPreferredSize(JComponent.java:1584)
    	at java.awt.FlowLayout.layoutContainer(FlowLayout.java:485)
    	at java.awt.Container.layout(Container.java:1401)
    	at java.awt.Container.doLayout(Container.java:1390)
    	at java.awt.Container.validateTree(Container.java:1473)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validateTree(Container.java:1480)
    	at java.awt.Container.validate(Container.java:1448)
    	at java.awt.Window.show(Window.java:515)
    	at java.awt.Component.show(Component.java:1300)
    	at java.awt.Component.setVisible(Component.java:1253)
    	at Control.GestioneVendite.<init>(GestioneVendite.java:77) 
    	at Interface.MenuPrincipale.actionPerformed(MenuPrincipale.java:83) 
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)
    	at java.awt.Component.processMouseEvent(Component.java:5488)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)
    	at java.awt.Component.processEvent(Component.java:5253)
    	at java.awt.Container.processEvent(Container.java:1966)
    	at java.awt.Component.dispatchEventImpl(Component.java:3955)
    	at java.awt.Container.dispatchEventImpl(Container.java:2024)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)
    	at java.awt.Container.dispatchEventImpl(Container.java:2010)
    	at java.awt.Window.dispatchEventImpl(Window.java:1774)
    	at java.awt.Component.dispatchEvent(Component.java:3803)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
    	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
    e non capisco perchè, ecco il codice:
    codice:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.StringTokenizer;
    
    public class GestioneVendite extends JFrame implements ActionListener{
    
    // variabili booleane che indicano se i pulsanti sono abilitati o no
    // mod=pulsante modifica;rim=pulsante rimuovi;
     public boolean mod=true,rim=true,ins=true,esci=true;
    
      public int g,ko;
      public String[] t={"a","b","c"};
      public JButton confermaModificaButton = new JButton("CONFERMA");
      public JButton annullaModificaButton = new JButton("ANNULLA");
      public JButton confermaInserisciButton = new JButton("INSERISCI");
      public JButton annullaInserisciButton = new JButton("ANNULLA");
      public ModificaCarrelloPanel pannelloMod;
      public InserisciCarrelloPanel insPanel;
      public Color tcolor=new Color(190,210,190);
      public JButton inserisciButton= new JButton("INSERISCI ARTICOLO");
      public JButton rimuoviButton= new JButton("RIMUOVI ARTICOLO");
      public JButton modificaButton= new JButton("MODIFICA ARTICOLO");
      public JButton confermaVenditaButton=new JButton("CONFERMA VENDITA");
      public Label etichettaCarrello1=new Label("                                                                               ARTICOLI PRESENTI NEL CARRELLO");
      public Label etichettaCarrello2=new Label("                                                                             CODICE             TAGLIA       QNT.");
      public JButton esciButton= new JButton("Torna al menu principale");
      public ListaCarrelloPanel listas;
      JPanel su=new JPanel();
      JPanel giu=new JPanel();
    public GestioneVendite() {
      super("G E S T I O N E         V E N D I T E");
        this.setSize(new Dimension(1024,768));
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    Carrello.svuota();
        // setto i colori dei pulsanti
        Container contMenu=this.getContentPane();
        esciButton.setBackground(tcolor);
        inserisciButton.setBackground(tcolor);
        rimuoviButton.setBackground(tcolor);
        modificaButton.setBackground(tcolor);
        esciButton.setBackground(tcolor);
        confermaVenditaButton.setBackground(tcolor);
         // creo i pannelli
        listas=new ListaCarrelloPanel();
        JPanel p1=new MyPanel();
        JPanel p2=new MyPanel();
        JPanel p3=new MyPanel();
        contMenu.add(p1,BorderLayout.WEST);
        contMenu.add(p2,BorderLayout.CENTER);
        contMenu.add(p3,BorderLayout.EAST);
        p1.setLayout(new GridLayout(0,1));
        p1.add(inserisciButton);
        p1.add(rimuoviButton);
        p1.add(modificaButton);
        p1.add(confermaVenditaButton);
        p2.setLayout(new GridLayout(2,1));
        p2.add(su);
        p2.add(giu);
        su.setLayout(new GridLayout(3,1));
        su.add(etichettaCarrello1);
        //su.add(etichettaCarrello2);
        su.add(listas,BorderLayout.WEST);
        p3.add(esciButton);
        this.setVisible(true); //riga 77: .<init>
        //show();
        confermaVenditaButton.addActionListener(this);
        inserisciButton.addActionListener(this);
        esciButton.addActionListener(this);
        rimuoviButton.addActionListener(this);
        modificaButton.addActionListener(this);
        annullaModificaButton.addActionListener(this);
        confermaModificaButton.addActionListener(this);
        confermaInserisciButton.addActionListener(this);
        annullaInserisciButton.addActionListener(this);
        //gestione ingresso alla vendita
        String idCliente=JOptionPane.showInputDialog(null,"INSERISCI UN CODICE CLIENTE VALIDO O DIGITA:\"nuovo\"","nuovo");
    boolean validitaCliente =Cliente.ricerca(idCliente);
      if (!validitaCliente){JOptionPane.showMessageDialog(null,"ATTENZIONE NON HAI INSERITO UN CODICE CLIENTE VALIDO PER CUI SARAI REINDIRIZZATO A GESTIONE CLIENTI","WARNING",JOptionPane.WARNING_MESSAGE);
          this.setVisible(false);
          //this.hide();
     GestioneClienti gcl=new GestioneClienti();
      }
     }
    
      public void actionPerformed(ActionEvent e){
       // SCELTA INSERISCI
        if (e.getSource()==inserisciButton && ins==true){
          mod=rim=ins=esci=false;
          System.out.println("inserisci articolo");
        insPanel=new InserisciCarrelloPanel();
        giu.add(insPanel);
        insPanel.giu.add(confermaInserisciButton);
        insPanel.giu.add(annullaInserisciButton);
        this.setVisible(true);
        //show();
    }
      // SCELTA CONFERMA INSERISCI
         if(e.getSource()==confermaInserisciButton){
             try{ int conta=0,quant;
          quant=Integer.parseInt(insPanel.text_quantita.getText());
          System.out.println("ho premuto conferma inserisci");
          conta=Articolo.ricerca(insPanel.text_codice.getText(),insPanel.text_taglia.getText());
          System.out.println("conta="+conta);
          if(conta==0){
          JOptionPane.showMessageDialog(null,"NON C'E DISPONIBILE NESSUN ARTICOLO CON QUEL CODICE","WARNING",JOptionPane.WARNING_MESSAGE);
          System.out.println("articolo non disponibile");
                       }
         else if(conta<quant){
                JOptionPane.showMessageDialog(null,"ATTENZIONE HAI INSERITO UNA QUANTITA MAGGIORE DI QUELLA DISPONIBILE (inserito="+quant+")(disp="+conta+")","WARNING",JOptionPane.WARNING_MESSAGE);
                System.out.println("articolo non disponibile");
                                   }
                else {Carrello car1=new Carrello(insPanel.text_codice.getText(),Integer.parseInt(insPanel.text_taglia.getText()),Integer.parseInt(insPanel.text_quantita.getText()));
                 car1.inserisci();
                 listas.refresh(listas.querynow);
                 insPanel.setVisible(false);
                 //insPanel.hide();
                 repaint();
                 mod=rim=ins=esci=true;
    
    
                 }}
                 catch(Exception er){
                   JOptionPane.showMessageDialog(null,"ATTENZIONE I DATI INSERITI NON SONO VALIDI","WARNING",JOptionPane.WARNING_MESSAGE);
                 }}
    
         //SCELTA ANNULLA INSERISCI
         if (e.getSource()==annullaInserisciButton){
           insPanel.setVisible(false);;
           //insPanel.hide();
           repaint();
           mod=rim=ins=esci=true;
    
         }
         // SCELTA ESCI
        if (e.getSource()==esciButton && esci==true){
          System.out.println("esci");
          this.setVisible(false);
          //this.hide();
          new MenuPrincipale();
        }
    
    
        //SCELTA RIMUOVI
        if (e.getSource()==rimuoviButton && rim==true && (listas.ritornaIndice()>=0)){
         if(( JOptionPane.showConfirmDialog(null,"SEI SICURO??","QUESTION",JOptionPane.YES_NO_OPTION,2))==0)
         {
              g=listas.ritornaIndice();
          Articolo.rimuovi(listas.getQuerys(),g);
          listas.refresh(listas.querynow);
          System.out.println("rimuovi g="+g+listas.querynow);
      }
    }
    // SCELTA MODIFICA
       if(e.getSource()==modificaButton && mod==true && (listas.ritornaIndice()>=0) ){
       mod=rim=ins=esci=false;
         listas.list.setEnabled(false);
         g=listas.ritornaIndice();
         String[] temp=listas.estraiDati(listas.getQuerys());
       try{     StringTokenizer tsrt=new StringTokenizer(temp[g]);
          for(int hi=0;hi<3;hi++){
           t[hi]=tsrt.nextToken();}
           pannelloMod=new ModificaCarrelloPanel(t);
        giu.add(pannelloMod);
        pannelloMod.giu.add(annullaModificaButton);
        pannelloMod.giu.add(confermaModificaButton);
    this.setVisible(true);
               //show();
         }
     catch(Exception e1){
       JOptionPane.showMessageDialog(null,"Probema nell'inizializzazione\n dei campi del form MODIFICA","WARNING",JOptionPane.WARNING_MESSAGE);
      mod=rim=ins=esci=true;}
    }
      //SCELTA ANNULLA MODIFICA
       if (e.getSource()==annullaModificaButton){
            giu.remove(pannelloMod);
            System.out.println("annMod");
            repaint();
            this.setVisible(true);
            //show();
             mod=rim=ins=esci=true;
             listas.list.setEnabled(true);
        }
        //SCELTA CONFERMA MODIFICA
    if (e.getSource() == confermaModificaButton && listas.ritornaIndice()>=0) {
    try {
        String t2[]=new String[3];
        for (int h=0;h<3;h++)t2[h]=pannelloMod.ritornaValori()[h];
        int pezziPresenti=Articolo.ricerca(t2[0],""+t2[1]);
        int quantity=Integer.parseInt(t2[2]);
        if (quantity>pezziPresenti)JOptionPane.showMessageDialog(null,"ATTENZIONE HAI INSERITO QUANTITA="+quantity+" ,I PREZZI PRESENTI IN MAGAZZINO SONO:"+pezziPresenti ,"WARNING",JOptionPane.WARNING_MESSAGE);
          else{System.out.println(g+"query pre conferma"+listas.querynow);
               int ko=listas.ritornaIndice();
              System.out.println("numeroko="+ko);
              Carrello.rimuovi(listas.querynow,ko);
    
              for(int k=0;k<3;k++)System.out.println(t2[k]);
              Carrello.modifica(t2[0],Integer.parseInt(t2[1]),Integer.parseInt(t2[2]));
    
              listas.refresh(listas.querynow);
              listas.list.setEnabled(true);
              giu.remove(pannelloMod);
              repaint();
              this.setVisible(true);
              //show();
              mod=rim=ins=esci=true;}}
    catch(Exception exc){JOptionPane.showMessageDialog(null,"ATTENZIONE UNO O PIU DATI POTREBBERO ESSERE NON VALIDI","WARNING",JOptionPane.WARNING_MESSAGE);
    }}
    
    
          //SCELTA CONFERMA VENDITA
    if (e.getSource() == confermaVenditaButton) {
      System.out.println("indice"+listas.ritornaIndice());
      if(Carrello.isVoid())JOptionPane.showMessageDialog(null,"ATTENZIONE NESSUN ARTICOLO IN CARRELLO","WARNING",JOptionPane.WARNING_MESSAGE);
         else{
      try {//niente
             }
        catch(Exception exc){JOptionPane.showMessageDialog(null,"ATTENZIONE ERRORE NELLA TRANSAZIONE","WARNING",JOptionPane.WARNING_MESSAGE);
           }
         }
       }
     }
    }

  2. #2
    codice:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    
    public class MenuPrincipale extends JFrame implements ActionListener {
    
    Color tcolor=new Color(190,210,190);
    public JButton articoliButton= new JButton("GESTIONE ARTICOLI");
    public JButton clientiButton= new JButton("GESTIONE CLIENTI");
    public JButton fornitoriButton= new JButton("GESTIONE FORNITORI");
    public JButton resiButton= new JButton("GESTIONE RESI");
      public JButton venditeButton= new JButton("GESTIONE VENDITE");
      public JButton flussoButton= new JButton("CONTROLLO FLUSSO");
      public JButton esciButton= new JButton("LOG OUT");
    
    
    
    
    
      public MenuPrincipale(){
        super("M E N U          P R I N C I P A L E");
        this.setSize(new Dimension(1024,768));
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);
        Container contMenu=this.getContentPane();
        esciButton.setBackground(tcolor);
        articoliButton.setBackground(tcolor);
        fornitoriButton.setBackground(tcolor);
        clientiButton.setBackground(tcolor);
        resiButton.setBackground(tcolor);
        venditeButton.setBackground(tcolor);
        flussoButton.setBackground(tcolor);
    
    
        JPanel p1=new MyPanel();
        JPanel p2=new ImgPanel();
        JPanel p3=new MyPanel();
        contMenu.add(p1,BorderLayout.WEST);
    
        contMenu.add(p2);
        //contMenu.add(p3,BorderLayout.NORTH);
        //p3.add(esciButton);
        //p3.setBackground(Color.blue);
        p2.add(esciButton,BorderLayout.NORTH);
        p1.setBackground(Color.white);
        p1.setLayout(new GridLayout(0,1));
        p1.add(articoliButton);
        p1.add(clientiButton);
        p1.add(fornitoriButton);
        p1.add(resiButton);
        p1.add(venditeButton);
        p1.add(flussoButton);
        this.setVisible(true);
        //show();
        articoliButton.addActionListener(this);
        clientiButton.addActionListener(this);
        esciButton.addActionListener(this);
        fornitoriButton.addActionListener(this);
        resiButton.addActionListener(this);
        venditeButton.addActionListener(this);
      }
      public void actionPerformed(ActionEvent e){
        if (e.getSource()==esciButton)System.exit(0);
        if (e.getSource()==articoliButton){
          this.setVisible(false);
            //this.hide();
          new GestioneArticoli(); \\ stesso problema: .actionPerformed
        }
        if (e.getSource()==clientiButton){
          this.setVisible(false);
            //this.hide();
          new GestioneClienti();
        }
        if (e.getSource()==fornitoriButton){
            this.setVisible(false);
            //this.hide();
              new GestioneFornitori(); }
            if (e.getSource()==venditeButton){
                this.setVisible(false);
                //this.hide();
                     new GestioneVendite();  \\ riga 83: .actionPerformed
      }
     }
    }


    Uso JDK 1.4.2_11
    Sotto Windows

    PLEASE HELP!

  3. #3

  4. #4
    Problema risolto!


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.