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

    interfaccia grafica reinstanziata

    Ciao a tutti, ho bisogno di un aiuto:

    Ho una classe Java che costruisce l'interfaccia grafica.
    In questa classe ci sono dei metodi che mi restituiscono i valori di alcuni campi grafici tipo
    getX getY

    dalle altre classi come posso richiamare questi metodi senza reistanziare di nuovo la classe che altrimenti restituisce delle eccezioni?


    Grazie mille

    Michele

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Infatti, generalmente l'interfaccia grafica non la si re-istanzia mai.
    Devi passare un riferimento all'interfaccia alle classi che ne vogliono usare i metodi (nel costruttore o tramite appositi metodi).

    Quindi, o prevedi nel costruttore delle tue classi un parametro di tipo "classe dell'interfaccia", oppure prevedi che queste classi espongano un metodo che riceve un parametro di tipo "classe dell'interfaccia"... in entrambi i casi andrai a valorizzare un oggetto interno a tale classe con il riferimento ricevuto e su di esso invocherai i metodi getX() e getY().


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Grazie per la tempestiva risposta, effettivamente non avevo pensato a questa soluzione!

    Ho provato entrambi i metodi che hai suggerito, tuttavia il problema che ho ancora è che l'interfaccia viene istanziata dal main, carica il costruttore (come logico), e si mette in attesa di eventi dall'utente; a questo punto non ho ritorno del valore nella variabile...


    main{
    grafica grph = new grafica();
    }

    ....grph vale null (e di conseguenza non lo posso passare da nessuna parte) finchè non si chiude la finestra ... il che a quel punto è terminato il programma e non mi serve più!

    Spero di essere stato chiaro!
    Dove sbaglio?

    Grazie a chi mi darà una mano

    Ciao ciao

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da mikimichele82
    main{
    grafica grph = new grafica();
    }

    ....grph vale null
    No ... grph non può valere null .... hai appena usato new per creare la istanza e a meno che sbuchi fuori dal costruttore una eccezione, la istanza viene sicuramente creata e quindi il reference è valido!

    Originariamente inviato da mikimichele82
    (e di conseguenza non lo posso passare da nessuna parte) finchè non si chiude la finestra ... il che a quel punto è terminato il programma e non mi serve più!

    Spero di essere stato chiaro!
    No. Probabilmente non hai chiare le solite questioni sul "design".

    Ma a parte questo, per esempio: nel costruttore o metodo di istanza di grafica hai bisogno di passare il suo reference ad un altro costruttore o metodo? Passa il this!
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.