Problemi di visualizzazioni finestre e uso di radioButton e

di il
17 risposte

Problemi di visualizzazioni finestre e uso di radioButton e

Salve a tutti ragazzi

ho dei piccoli problemi su un'applicazione che sto sviluppando.

Spero di non fare un casino ma ho aperto solo un 3D per i vari problemi che ho.

Iniziamo dal più importante.

La mia applicazioni ha dei pulsanti che permettono di modificare o cercare un oggetto.

ora ho fatto delle azioni chiamate: AzioneVisualizzaFinestraModifica e AzioneVisualizzaFinestraCerca

public class AzioneVisualizzaFinestraModifica extends AbstractAction{    
    private Controllo controllo;
    private Log logger = LogFactory.getLog(AzioneVisualizzaFinestraCerca.class);


    AzioneVisualizzaFinestraModifica(Controllo controllo) {
        this.controllo = controllo;
        this.putValue(Action.NAME,"Modifica");
        this.putValue(Action.SHORT_DESCRIPTION,"Visualizza la modifica ");
       
        
    }


    public void actionPerformed(ActionEvent e) {
        logger.info("Visualizzo la Finesta Modifica."+ " " + "Azione:"+" " + this.getClass().getName());
         PannelloPrincipale pp = (PannelloPrincipale) this.controllo.getVista().getSottoViste(Costanti.PANNELLO_PRINCIPALE);
        Modello modello = this.controllo.getModello();
        FinestraModifica finestra = ( FinestraModifica ) this.controllo.getVista().getSottoViste(Costanti.FINESTRA_MODIFICA);
        int indiceSelezione = pp.getTabellaSegni().getSelectedRow();
        if ( indiceSelezione != -1 ) {
            Oggetto o = ( oggetto ) modello.getBean(Costanti.OGGETTO);
            Oggetto1 o1 = oroscopo.getOggetto1(indiceSelezione);
            if ( segno != null ) {
                modello.addBean(Costanti.SEGNO_ZODIACALE, segno );
                finestra.visualizzaFinestraModifica();
            } else {
                pp.finestraErrore("Errore"," Non ci sono Segni Zodiacali ");
            }
        } else {
            pp.finestraErrore("Errore"," Selezionare un segno Zodiacale inserito per poterne modifica i valori ");
        }
    }
Questa azione è basata su un indice di selezionamento di una tabella, in pratica selezionando una riga della tabella mi fa modificare l'oggetto selezionato.

Per il cerca ho scritto questo codice

public class AzioneVisualizzaFinestraCerca extends AbstractAction {    
    private Controllo controllo;
    
    private Log logger = LogFactory.getLog(AzioneVisualizzaFinestraCerca.class);
    
    public AzioneVisualizzaFinestraCerca(Controllo controllo) {
        this.controllo = controllo;
        this.putValue(NAME, "Cerca");
        this.putValue(SHORT_DESCRIPTION, " Visualizza la Finestra Cerca");
    }


    public void actionPerformed(ActionEvent e) {
        logger.info("Visualizzo la finestra Cerca ." + " " + "Azione:" + this.getClass().getName());
        FinestraCerca fc = (FinestraCerca)this.controllo.getVista().getSottoViste(Costanti.FINESTRA_CERCA);
        fc.setVisible(true);
    }

codice scritto bene, in fase di compilazione tutto bene ma quanto l'eseguo e premo il pulsante che attiva l'azione mi esce questo tipo di errore:

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException in entrambe le azioni sulla riga che serve a visualizzare la finestra.

Il vero problema è che io ho due azioni visualizza modifica(questa e una cha fa modificare l'oggetto solo in parte con alcuni campi non modificabili) e due azioni visualizza cerca(questa ed una che permetta la ricerca per data) ora il codice di visualizza è praticamente lo stesso, così come la costruzione delle due finestre e il metodo visualizzaFinestra in esso, ma li funziona e qui no e non capisco perché.

Seconda domanda: vorrei appunto decidere di usare uno dei due modifica e uno dei due cerca tramite checkbox e buttonRadio. In poche parole tramite una buttorRadio seleziono il tipo di ricerca che voglio effettuare(per nome o per data) e cliccando il pulsante cerca mi visualizza una delle due finestre cerca. Stesso discorso per il modifica solo gestito con checkBox.

Sinceramente ho provato a scrivere diverso codice ma non riesco proprio a farlo funzionare. Non so se è utile ma i due radiobutton cerca e le due checkBox modifica le ho inserite in due groupRadio diversi.

Spero di essere stato chiaro e che mi riusciate ad aiutare.

Saluti.

17 Risposte

  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Evidentemente fc e' null. Cosa ti dice il debugger?
    Altrimenti potresti TEMPORANEAMENTE catturare l'eccezione e fare un
    e.printStackTrace(System.out);
    cosi' da avere il punto preciso nel software
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    [CROSSPOSTING]
    http://forum.html.it/forum/showthread.php?threadid=2921797
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    @SottoVento

    Il problema che il codice di visualizzaFinestraCerca e VisualizzaFinestraCercaX è praticamente uguale e quindi non riesco a capire perché una la visualizza correttamente e l'altra no.

    Nel caso mi sapresti dire il codice per catturare l'eccezione?

    @Schumy 2000 si sono sempre io, anche il nome è lo stesso. Ho un problema con un'applicazione e penso che i vari forum siano fatti apposta per confrontarsi quindi ho pensato di chiedere a chi ne sa più di me sui vari forum presenti sul web.

    Se è un problema mi scuso, non pensavo che lo fosse.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    CRTVLB ha scritto:


    @SottoVento

    Il problema che il codice di visualizzaFinestraCerca e VisualizzaFinestraCercaX è praticamente uguale e quindi non riesco a capire perché una la visualizza correttamente e l'altra no.
    Puo' darsi che da una parte l'oggetto sia stato creato (per esempio durante l'inizializzazione) e dall'altra parte no.

    CRTVLB ha scritto:


    Nel caso mi sapresti dire il codice per catturare l'eccezione?
    
    try
    {
      // metti qui il tuo codice
    }
    catch(Exception e)
    {
         e.printStackTrace(System.out);
         // Qui dovresti uscire
    }
    
    ATTENZIONE - catch (Exception) non e' mai raccomandato! Normalmente si dovrebbe catturare l'eccezione adeguata, vale a dire una sottoclasse di Exception. Ad ogni modo, lo stai facendo per trovare l'errore. Una volta trovato, rimuovi questo try...catch.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Grazie mille sottoVento.

    Provo e ti faccio sapere.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Ecco quello che mi esce:
    
    java.lang.NullPointerException
    	at it.unibas.oroscopoNuovo.controllo.AzioneVisualizzoFinestraModifica.actionPerformed(AzioneVisualizzoFinestraModifica.java:38) // questa è la riga dove ho fvm.visualizzaFinestraModifica();
    	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    	at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
    	at java.awt.Component.processMouseEvent(Component.java:6267)
    	at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    	at java.awt.Component.processEvent(Component.java:6032)
    	at java.awt.Container.processEvent(Container.java:2041)
    	at java.awt.Component.dispatchEventImpl(Component.java:4630)
    	at java.awt.Container.dispatchEventImpl(Container.java:2099)
    	at java.awt.Component.dispatchEvent(Component.java:4460)
    	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    	at java.awt.Container.dispatchEventImpl(Container.java:2085)
    	at java.awt.Window.dispatchEventImpl(Window.java:2478)
    	at java.awt.Component.dispatchEvent(Component.java:4460)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
    
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Ok, ora sai che il problema e' in AzioneVisualizzoFinestraModifica.java alla linea 38.
    Ti risulta? Purtroppo da qui non posso sapere a quale linea corrisponde. Immagino che sia la linea in cui ottieni l'oggetto da utilizzare.Evidentemente non lo ottieni.

    Dai un'occhiata. Se ti serve aiuto, devi pubblicare AzioneVisualizzoFinestraModifica.java
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Si infatti il problema è proprio la chiamata al metodo visualizzaFinestraModfica di finestra modifica. posto anche il codice della finestra magari riesci a capirne qualcosa perché io veramente non so più dove sbattere la testa.
    
    
    package pg.progetto.progettoProva.vista;
    
    import pg.progetto.progettoProva.Costanti;
    import pg.progetto.progettoProva.controllo.Controllo;
    import pg.progetto.progettoProva.modello.Modello;
    import pg.progetto.progettoProva.Oggetto1;
    import javax.swing.JComboBox;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    public class FinestraModifica extends javax.swing.JDialog {
        
        private Vista vista;
        private Controllo controllo;
        private Modello modello;
        
    
           public FinestraModifica(Vista vista) {
            super(vista,true);
            this.vista = vista;
            this.controllo = vista.getControllo();
            this.modello = vista.getModello();
            initComponents();
            this.postInizializza();
        }
    
        public void postInizializza() {
            this.assegnaAzioni();
        }
    
        public void assegnaAzioni() {
            this.setTitle("Modifica");
            this.setLocationRelativeTo(vista);
            this.BottoneAnnulla.setAction(this.controllo.getAction(Costanti.AZIONE_ANNULLA_MODIFICA));
            this.BottoneModifica.setAction(this.controllo.getAction(Costanti.AZIONE_MODIFICA));
        }
        
        public void finestraErroriFinestra(String messaggio) {
            JOptionPane.showMessageDialog(this, messaggio, "Errori Finestra",JOptionPane.ERROR_MESSAGE);
        }
        
        public void finestraInfoFinestra(String messaggio) {
            JOptionPane.showMessageDialog(this, messaggio, "Info Finestra", JOptionPane.INFORMATION_MESSAGE);
        }
        
        public JComboBox getComboGiornoIniziale() {
            return ComboGiornoInizialeFMSD;
        }
        
        public JComboBox getComboMeseIniziale() {
            return ComboMeseInizialeFMSD;
        }
        
        public JComboBox getComboAnnoIniziale() {
            return ComboAnnoInizialeFMSD;
        }
        
        public JComboBox getComboGiornoFinale() {
            return ComboGiornoFinaleFMSD;
        }
        
        public JComboBox getComboMeseFinale() {
            return ComboMeseFinaleFMSD;
        }
        
        public JComboBox getComboAnnoFinale() {
            return ComboAnnoFinaleFMSD;
        }
        
        public JTextField getTextSegno() {
            return TestoSegnoFMSD;
        }
        
        public JTextField getTextDescrizione() {
            return TestoDescrizioneFMSD;
        }
        
        public void ripulisciTotale() {
            this.ripulisciSegno();
            this.ripulisciDataIniziale();
            this.ripulisciDataFinale();
            
            
        }
    
        public void ripulisciSegno() {
            this.getTextSegno().setText("");
            this.getTextDescrizione().setText("");
        }
    
        public void ripulisciDataIniziale() {
            this.ripulisciGiornoIniziale();
            this.ripulisciMeseIniziale();
            this.ripulisciAnnoIniziale();
        }
    
        public void ripulisciDataFinale() {
            this.ripulisciGiornoFinale();
            this.ripulisciMeseFinale();
            this.ripulisciAnnoFinale();
        }
    
        public void ripulisciGiornoIniziale() {
            this.getComboGiornoIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciMeseIniziale() {
            this.getComboMeseIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciAnnoFinale() {
            this.getComboAnnoIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciAnnoIniziale() {
            this.getComboGiornoFinale().setSelectedIndex(0);
        }
    
        public void ripulisciGiornoFinale() {
            this.getComboMeseFinale().setSelectedIndex(0);
        }
    
        public void ripulisciMeseFinale() {
            this.getComboAnnoFinale().setSelectedIndex(0);
        }
        
        public void visualizzaFinestraModifica() { // l'errore dovrebbe provenire da questo metodo, credo.
            this.ritornaSegno();
            this.setVisible(true);
            this.pack();
        }
    
        public void ritornaSegno() {
            this.ritornaNomeDescrizione();
            this.ritornaDataIniziale();
            this.ritornDataFinale();
            
        }
    
        public void ritornaNomeDescrizione() {
            Oggetto o = ( Oggetto) this.modello.getBean(Costanti.SEGNO_OGGETTO);
            this.getTextSegno().setText(o.getNome());
            this.getTextDescrizione().setText(o.getDescrizione());
        }
    
        public void ritornaDataIniziale() {
            Oggetto o = (Oggetto) modello.getBean(Costanti.SEGNO_OGGETTO);
            this.getComboGiornoIniziale().setSelectedItem("" + o.getGiorno());
            this.getComboMeseIniziale().setSelectedItem("" +o.getMese());
            this.getComboAnnoIniziale().setSelectedItem("" + o.getAnno());
            
        }
    
        public void ritornDataFinale() {
            Oggetto o = (Oggetto) modello.getBean(Costanti.SEGNO_OGGETTO);
            this.getComboGiornoFinale().setSelectedItem("" + o.getGiornoFine());
            this.getComboMeseFinale().setSelectedItem("" +o.getMeseFine());
            this.getComboAnnoFinale().setSelectedItem("" + o.getAnnoFine());
            
        }
    }
    
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    CRTVLB ha scritto:


    @Schumy 2000 si sono sempre io, anche il nome è lo stesso. Ho un problema con un'applicazione e penso che i vari forum siano fatti apposta per confrontarsi quindi ho pensato di chiedere a chi ne sa più di me sui vari forum presenti sul web.

    Se è un problema mi scuso, non pensavo che lo fosse.
    Guarda è scritto al punto 1 del Regolamento non so se tu lo abbia letto.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Ciao
    ho guardato il codice velocemente. Complimenti, e' molto ben organizzato.

    Tuttavia sono un po' confuso: l'errore era generato nel file AzioneVisualizzoFinestraModifica.java, quindi immaginavo avresti pubblicato quello. In realta' hai postato FinestraModifica.java e non capisco il motivo.

    Da quanto riporta lo stack, non sei mai arrivato a FinestraModifica.java, sei ancora fermo a AzioneVisualizzoFinestraModifica.java. E' in quello che devi cercare
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Scusami e che ho fatto confusione e ho postato il codice di visualizzaFinestraModifica e Azione VisualizzaModificaSoloDato ho cambiato gli oggetto e oggetto1 in Oroscopo e SegnoZodiacale(non centra niente ma per far capire che oggetto contiene più oggetti1 e non so neanche se sia utile per risolvere il mio problema)

    questo è il codice di visualizzoFinestraModificaSoloData
    
    package pg.progetto.progettoProva.controllo;
    
    import pg.progetto.progettoProva.Costanti;
    import pg.progetto.progettoProva.Modello;
    import pg.progetto.progettoProva.Oroscopo;
    import ipg.progetto.progettoProva.SegnoZodiacale;
    import pg.progetto.progettoProva.FinestraModificaSoloData;
    import pg.progetto.progettoProva.PannelloPrincipale;
    import java.awt.event.ActionEvent;
    import javax.swing.AbstractAction;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    
    public class AzioneVisualizzoFinestraModificaSoloData extends AbstractAction {
        
        private Controllo controllo;
        
        private Log logger = LogFactory.getLog(AzioneVisualizzoFinestraModificaSoloData.class);
        
        public AzioneVisualizzoFinestraModificaSoloData(Controllo controllo) {
            this.controllo = controllo;
            this.putValue(NAME, "Modifica Solo Data");
            this.putValue(SHORT_DESCRIPTION, "Modifica la Data");
        }
    
        public void actionPerformed(ActionEvent e) {
            logger.info("Visualizzo la finestra Modifica Data:" + " " + "Azione:" +this.getClass().getName());
            PannelloPrincipale pp = (PannelloPrincipale) this.controllo.getVista().getSottoViste(Costanti.PANNELLO_PRINCIPALE);
            Modello modello = this.controllo.getModello();
            FinestraModificaSoloData finestra = ( FinestraModificaSoloData ) this.controllo.getVista().getSottoViste(Costanti.FINESTRA_MODIFICA_SOLO_DATA);
            int indiceSelezione = pp.getTabellaSegni().getSelectedRow();
            try {
                if ( indiceSelezione != -1 ) {
                    Oroscopo oroscopo = ( Oroscopo ) modello.getBean(Costanti.OROSCOPO);
                    SegnoZodiacale segno = oroscopo.getSegnoZodiacale(indiceSelezione);
                    if ( segno != null ) { //questa convalida serve solo su una possibile tabella in un certo funzionamento vuota ( esempio Tab in Cerca )
                        modello.addBean(Costanti.SEGNO_ZODIACALE, segno );
                        finestra.visualizzaFinestraModificaSoloData(); // l'errore è a questa riga.
                    } else {
                        pp.finestraErrore("Errore"," Non ci sono Segni Zodiacali ");
                    }
                } else {
                    pp.finestraErrore("Errore"," Selezionare un segno Zodiacale inserito per poterne modifica i valori ");
                }
            }catch (Exception cause) {
                cause.printStackTrace(System.out);
            }     
        }
        
    }
    
    questo è il codice di finestraVModificaSoloData dove ci sta la chiamata al metodo
    
    package it.unibas.oroscopoNuovo.vista;
    
    import pg.progetto.progettoProva..Costanti;
    import pg.progetto.progettoProva..Controllo;
    import pg.progetto.progettoProva..Modello;
    import pg.progetto.progettoProva..SegnoZodiacale;
    import javax.swing.JComboBox;
    import javax.swing.JOptionPane;
    import javax.swing.JTextField;
    
    public class FinestraModificaSoloData extends javax.swing.JDialog {
        
        private Vista vista;
        private Controllo controllo;
        private Modello modello;
        
    
           public FinestraModificaSoloData(Vista vista) {
            super(vista,true);
            this.vista = vista;
            this.controllo = vista.getControllo();
            this.modello = vista.getModello();
            initComponents();
            this.postInizializza();
        }
                   
        public void postInizializza() {
            this.assegnaAzioni();
        }
    
        public void assegnaAzioni() {
            this.setTitle("Modifica Data del Segno Zodiacale Scelto");
            this.setLocationRelativeTo(vista);
            this.BottoneAnnulla.setAction(this.controllo.getAction(Costanti.AZIONE_ANNULLA_MODIFICA_SOLO_DATA));
            this.BottoneModifica.setAction(this.controllo.getAction(Costanti.AZIONE_MODIFICA_SOLO_DATA));
        }
        
        public void finestraErroriFinestra(String messaggio) {
            JOptionPane.showMessageDialog(this, messaggio, "Errori Finestra",JOptionPane.ERROR_MESSAGE);
        }
        
        public void finestraInfoFinestra(String messaggio) {
            JOptionPane.showMessageDialog(this, messaggio, "Info Finestra", JOptionPane.INFORMATION_MESSAGE);
        }
        
        public JComboBox getComboGiornoIniziale() {
            return ComboGiornoInizialeFMSD;
        }
        
        public JComboBox getComboMeseIniziale() {
            return ComboMeseInizialeFMSD;
        }
        
        public JComboBox getComboAnnoIniziale() {
            return ComboAnnoInizialeFMSD;
        }
        
        public JComboBox getComboGiornoFinale() {
            return ComboGiornoFinaleFMSD;
        }
        
        public JComboBox getComboMeseFinale() {
            return ComboMeseFinaleFMSD;
        }
        
        public JComboBox getComboAnnoFinale() {
            return ComboAnnoFinaleFMSD;
        }
        
        public JTextField getTextSegno() {
            return TestoSegnoFMSD;
        }
        
        public JTextField getTextDescrizione() {
            return TestoDescrizioneFMSD;
        }
        
        public void ripulisciTotale() {
            this.ripulisciSegno();
            this.ripulisciDataIniziale();
            this.ripulisciDataFinale();
            
            
        }
    
        public void ripulisciSegno() {
            this.getTextSegno().setText("");
            this.getTextDescrizione().setText("");
        }
    
        public void ripulisciDataIniziale() {
            this.ripulisciGiornoIniziale();
            this.ripulisciMeseIniziale();
            this.ripulisciAnnoIniziale();
        }
    
        public void ripulisciDataFinale() {
            this.ripulisciGiornoFinale();
            this.ripulisciMeseFinale();
            this.ripulisciAnnoFinale();
        }
    
        public void ripulisciGiornoIniziale() {
            this.getComboGiornoIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciMeseIniziale() {
            this.getComboMeseIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciAnnoFinale() {
            this.getComboAnnoIniziale().setSelectedIndex(0);
        }
    
        public void ripulisciAnnoIniziale() {
            this.getComboGiornoFinale().setSelectedIndex(0);
        }
    
        public void ripulisciGiornoFinale() {
            this.getComboMeseFinale().setSelectedIndex(0);
        }
    
        public void ripulisciMeseFinale() {
            this.getComboAnnoFinale().setSelectedIndex(0);
        }
        
        public void visualizzaFinestraModificaSoloData() {
            this.ritornaSegno();
            this.setVisible(true);
            this.pack();
        }
    
        public void ritornaSegno() {
            this.ritornaNomeDescrizione();
            this.ritornaDataIniziale();
            this.ritornDataFinale();
            
        }
    
        public void ritornaNomeDescrizione() {
            SegnoZodiacale segno = ( SegnoZodiacale) this.modello.getBean(Costanti.SEGNO_ZODIACALE);
            this.getTextSegno().setText(segno.getNome());
            this.getTextDescrizione().setText(segno.getDescrizione());
        }
    
        public void ritornaDataIniziale() {
            SegnoZodiacale segno = (SegnoZodiacale) modello.getBean(Costanti.SEGNO_ZODIACALE);
            this.getComboGiornoIniziale().setSelectedItem("" + segno.getGiorno());
            this.getComboMeseIniziale().setSelectedItem("" +segno.getMese());
            this.getComboAnnoIniziale().setSelectedItem("" + segno.getAnno());
            
        }
    
        public void ritornDataFinale() {
            SegnoZodiacale segno = (SegnoZodiacale) modello.getBean(Costanti.SEGNO_ZODIACALE);
            this.getComboGiornoFinale().setSelectedItem("" + segno.getGiornoFine());
            this.getComboMeseFinale().setSelectedItem("" +segno.getMeseFine());
            this.getComboAnnoFinale().setSelectedItem("" + segno.getAnnoFine());
            
        }
    }
    
    
    Se vuoi posto anche il codice di visualizzaFinestraModifica e FinestraModifica che è praticamente uguale ma in quel caso funziona tutto correttamente.

    Dimenticavo ovviamente l'errore si verifica q)ando seleziono un oggetto da modificare tramite l'indice di selezione su una tabella. Se non seleziono nulla esce l'avviso selezionare un oggetto(come è giusto che sia?

    Mi scuso ancora di più con schumy2000 e con gli utenti del Forum. Ammetto di non aver letto il regolamento prima di postare. Chiedo ancora scusa e prometto che non si ripeterà più.

    Sorry.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Ciao, scusa il ritardo ma scrivo quando la connessione internet funziona, cioe' praticamente mai.
    FinestraModificaSoloData finestra = ( FinestraModificaSoloData ) this.controllo.getVista().getSottoViste(Costanti.FINESTRA_MODIFICA_SOLO_DATA);
    Questa istruzione ti ritorna null, quindi vai in crash.
    Immagino che prima di fare questa getSottoViste, da qualche parte abbia fatto l'operazione speculare, cioe' qualcosa del tipo putSottoVist(Costanti.FINESTRA_MODIFICATA_SOLO_DATA, finestra), corretto? Sembra che manchi o che il parametro passato sia errato
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Ho risolto, grazie mille per il tuo contributo.

    In pratica nella vista avevo un metodo che inizializzava le sotto viste, avevo dimenticato di inizializzare le due finestre.

    P.s un'ultima cosa anche se non è proprio fondamentale. Se volessi rendere una TextField non modificabile, oltre ad andare nelle sue proprietà e togliere la spunta da editable si potrebbe anche scrivere un metodo che la renda non modificabile?

    Ti ringrazio ancora per avermi aiutato, sei stato fondamentale nel farmi capire l'errore.
  • Re: Problemi di visualizzazioni finestre e uso di radioButton e

    Si, puoi usare la
    JTextfield.setEditable(false);
Devi accedere o registrarti per scrivere nel forum
17 risposte