Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    49

    java.lang.NoSuchMethodError: quando passo un metodo da una classe alla classe Interfaccia Swing

    Premetto che sto usando NetBeans per le interfacce grafiche
    Ciao, ho questo fastidioso problema in un esercizio:
    nel creare un Interfaccia per un programma, volevo passare il contenuto di una jTextField ad un metodo che mi controllasse la tipologia di dato inserito...questo per sollevare una mia eccezione in caso di dato non congruente.

    Se provo ad inserire questo metodo nella classe interfaccia...non mi da errore, ma quando provo a lanciare il programma...mi dice:
    Exception in thread "main" java.lang.NoClassDefFoundError: simulazionetest/Interfaccia
    ...ho notato che se elimino il metodo ricomincia a funzionare

    Allora ho provato a spostare questo metodo in una classe esterna, renderlo statico e poi richiamarlo dall'actionPerformed di un pulsante....però mi da
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: simulazionetest.Anagrafe.controllaDati(Ljava/lang/StringZ

    Non riesco a capire dove è l'inghippo
    Helppp

    Alex

  2. #2
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Puoi postare un po' di codice? Ora non è molto chiaro il problema...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    49
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio
    Puoi postare un po' di codice? Ora non è molto chiaro il problema...
    Allora...in un interfaccia grafica...all'interno di un pulsante ho messo questo codice,pensando che bastasse per richiamare un metodo di una classe esterna:

    codice:
    private void INVIAActionPerformed(java.awt.event.ActionEvent evt) {                                      
            
            
            String temp= "s";
    Anagrafe.verifica(temp);
    
    .......
    ......
    }
    ...nella classe Anagrafe...il metodo creato è diciamo questo:

    codice:
    public static  boolean verifica(String n) {
            if (n=="s"){
                System.out.println("LETTERE");
                return true;
            }
            else{ 
                System.out.println("numeri");
                return false;
            }
        }
    Ovviamente le classi sono nello stesso package....

    Netbeans...nel momento che invoca il metodo restituisce:

    codice:
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: simulazionetest.Anagrafe.verifica(Ljava/lang/String;)Z    at simulazionetest.Interfaccia.INVIAActionPerformed(Interfaccia.java:233)
        at simulazionetest.Interfaccia.access$400(Interfaccia.java:21)
        at simulazionetest.Interfaccia$5.actionPerformed(Interfaccia.java:104)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
        at java.awt.Component.processMouseEvent(Component.java:6505)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
        at java.awt.Component.processEvent(Component.java:6270)
        at java.awt.Container.processEvent(Container.java:2229)
        at java.awt.Component.dispatchEventImpl(Component.java:4861)
        at java.awt.Container.dispatchEventImpl(Container.java:2287)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
        at java.awt.Container.dispatchEventImpl(Container.java:2273)
        at java.awt.Window.dispatchEventImpl(Window.java:2719)
        at java.awt.Component.dispatchEvent(Component.java:4687)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
        at java.awt.EventQueue.access$200(EventQueue.java:103)
        at java.awt.EventQueue$3.run(EventQueue.java:694)
        at java.awt.EventQueue$3.run(EventQueue.java:692)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
        at java.awt.EventQueue$4.run(EventQueue.java:708)
        at java.awt.EventQueue$4.run(EventQueue.java:706)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
    Ultima modifica di LeleFT; 06-11-2013 a 13:08

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da magobin Visualizza il messaggio
    Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: simulazionetest.Anagrafe.verifica(Ljava/lang/StringZ at simulazionetest.Interfaccia.INVIAActionPerformed(I nterfaccia.java:233)
    Giusto per vedere di chiarire: le due classi sono in file sorgenti Interfaccia.java e Anagrafe.java ? Questi sorgenti hanno all'inizio la dichiarazione package simulazionetest; ? E entrambi i file sorgente sono in una cartella simulazionetest sotto la directory base dei sorgenti del progetto (src, source, sources o quello che è in NetBeans, non ricordo ora) ?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ma poi c'è anche un errore:
    codice:
    public static  boolean verifica(String n) {
            if (n=="s") {
                System.out.println("LETTERE");
    Non puoi eguagliare due stringhe...
    semmai devi fare
    codice:
    if (n.equal("s"))
    oppure
    codice:
    if (n.equalToIgnoreCase("s"))
    Ciao.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    49
    Quote Originariamente inviata da schumy2000 Visualizza il messaggio
    Ma poi c'è anche un errore:
    codice:
    public static  boolean verifica(String n) {
            if (n=="s") {
                System.out.println("LETTERE");
    Non puoi eguagliare due stringhe...
    semmai devi fare
    codice:
    if (n.equal("s"))
    oppure
    codice:
    if (n.equalToIgnoreCase("s"))
    Ciao.
    Si scusate...la fretta di scrivere....cmq confermo...tutto al posto giusto !

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.