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
Questa azione è basata su un indice di selezionamento di una tabella, in pratica selezionando una riga della tabella mi fa modificare l'oggetto selezionato.codice: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 "); } }
Per il cerca ho scritto questo codice
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: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); }
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.

Rispondi quotando