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

    Errore rimozione JPanel aiuto

    salve ragazzi,

    sto sviluppando una applicazione in java.

    IL mio problema è questo, quando l'applicazione si avvia, deve apparire una schermata con una tabella delle label ecc ecc e del testo con un menu.

    Fin qui nulla di strano,

    il problema però consiste quando voglio cambiare schermata.

    Il tutto avviene attraverso una voce di menu.

    Ho un Jframe che contiene un JPanel nel quale ci sono disposte la tabella e le label, alla chiamata della voce di menu deve sparire questo JPanel e apparire un altro JPanel.

    il codice che utilizzo è il seguente

    codice:
    frame.remove(JPanel);
    frame.pack();
    se posiziono questo frammeno di codice in qualsiasi parte del programma mi funziona se invece lo associo alla voce di menu mi genera il seguente errore

    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at MainClass$1.actionPerformed(MainClass.java:95)
    at javax.swing.AbstractButton.fireActionPerformed(Unk nown Source)
    at javax.swing.AbstractButton$Handler.actionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.fireActionPerformed (Unknown Source)
    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
    at javax.swing.AbstractButton.doClick(Unknown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unk nown Source)
    at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mou seReleased(Unknown Source)
    at java.awt.Component.processMouseEvent(Unknown Source)
    at javax.swing.JComponent.processMouseEvent(Unknown Source)
    at java.awt.Component.processEvent(Unknown Source)
    at java.awt.Container.processEvent(Unknown Source)
    at java.awt.Component.dispatchEventImpl(Unknown Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.LightweightDispatcher.retargetMouseEvent( Unknown Source)
    at java.awt.LightweightDispatcher.processMouseEvent(U nknown Source)
    at java.awt.LightweightDispatcher.dispatchEvent(Unkno wn Source)
    at java.awt.Container.dispatchEventImpl(Unknown Source)
    at java.awt.Window.dispatchEventImpl(Unknown Source)
    at java.awt.Component.dispatchEvent(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilter s(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(U nknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarch y(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

    ricordo che il programma appena si avvia va in un ciclo che viene eseguito all'infinito....

    spero mi possiate aiutare

    saluti a tutti

  2. #2
    Alla riga 95 della classe MainClass si verifica una NullPointerException.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    QUESTO è IL CODICE CHE GENERA L'ERRORE

    codice:
      menuItem = new JMenuItem("Inserisci nuova corsa",
    	                                 KeyEvent.VK_T);
    	        menuItem.addActionListener( new ActionListener() {
    	            public void actionPerformed( ActionEvent e ) {
    	                System.out.println("Creo una azione");
    	                frame.remove(deskTabellaPartenze);  //questa è la riga 95
    	                
    	            }
    	        } );
    dove sta l'errore

  4. #4
    O frame oppure deskTabellaPartenze è null.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Allora ho assodato che frame è null facendo la seguente prova

    codice:
    deskTabellaPartenze.setVisible(false);
    	                System.out.println("Creo una azione");
    	                frame.remove(deskTabellaPartenze);
    in pratica se mi stampa il messaggio e poi mi da errore

    ma adesso come faccio per fare in modo che frame non sia null???

  6. #6
    grazie mille, ho risolto, in pratica avevo dichiarato frame della variabili quindi era visibile però l'avevo dichiarato di nuovo sotto e quindi era null ma eclipse non dava errore.

    grazie i tuoi interventi mi hanno fatto capire cosa stavo sbagliando

    graize mille.

    Ascolta io ho un ciclo che va all'infinito, però vorrei che nel momento in cui viene premuta una voce di menù esso si deve interrompere.

    so che per interrompere un ciclo si utilizza l'istruzione break; ma non va questa.

    come mi posso comportare????

  7. #7
    In questo modo non hai assodato che frame è null, ma sei esattamente nella situazione di partenza. Se ti stampa il messaggio e poi va in eccezione allora o frame oppure deskTabellaPartenze è null.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Originariamente inviato da bircastri
    grazie mille, ho risolto, in pratica avevo dichiarato frame della variabili quindi era visibile però l'avevo dichiarato di nuovo sotto e quindi era null ma eclipse non dava errore.

    grazie i tuoi interventi mi hanno fatto capire cosa stavo sbagliando

    graize mille.

    Ascolta io ho un ciclo che va all'infinito, però vorrei che nel momento in cui viene premuta una voce di menù esso si deve interrompere.

    so che per interrompere un ciclo si utilizza l'istruzione break; ma non va questa.

    come mi posso comportare????
    Senza codice non posso conoscere la logica di funzionamento del tuo applicativo. In questo modo mi è impossibile aiutarti.
    Un modo potrebbe essere quello di utilizzare una variabile booleana che viene controllata all'interno del ciclo. Alla pressione di una voce di menù cambi stato alla variabile ed il ciclo si interrompe, ma senza codice posso fare solo delle congetture.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.