Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    53

    Nomi di variabili da stringa?

    Salve a tutti!
    E' possibile in Java usare in qualche modo una stringa come nome di variabile?
    Quello che vorrei fare è di seguito esposto.

    Ho dei jTextField che si chiamano TestoA1, TestoA2, TestoA3 .. TestoA20, TestoB1..., ...TestoF20 (in totale ho 6*20=120 textfield)
    In un ciclo for (i che va da 1 a 20) vorrei fare qualcosa del tipo:

    String NomeVariabileA = "TestoA"+i;
    ..
    String NomeVariabileF = "TestoF"+i;

    e dunque

    NomeVariabileA.setText("PIPPO");
    NomeVariabileB.setText("PLUTO");
    ecc.
    con NomeVariabileA = TestoA1 e cosi' via...

    Come mi consigliereste di risolvere?
    Con dei vettori non mi pare il caso visto che allocare memoria per 120 textFields nn mi sembra uno scherzo! O sbaglio?

    Grazie a tutti in anticipo!
    A presto!
    F.

  2. #2
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    non si puo', e in ogni caso sinceramente non vedrei il senso di farlo: se cmq dici che hai GIA' istanziato 120 JTextField o quello che sono, non cambia (quasi) niente in termini di memoria allocata a buttarli dentro una collection qualsiasi per poterli iterare. Nella collection entra solo un riferimento all'oggetto e non un clone dell'oggetto stesso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    53
    ciao!Grazie per avermi risposto innanzi tutto!

    Quindi secondo te la cosa migliore è usare un Vector? Oppure altra cosa che mi era venuta in mente era di mettere uno

    switch(i)
    {case 1:
    TestoA1.setText("PIPPO");
    TeastoB1.setText("PLUTO");

    case 20:
    TestoA20.setText("PAPERINO");
    ..
    TestoF20.setText("GASTONE");
    }

    Secondo te tra le due "zozzate" (vector e switch) Quale è meno peggio (Piu' snella)?

    Grazie ancora! Ciao!

  4. #4
    Utente di HTML.it L'avatar di nether
    Registrato dal
    Dec 2006
    Messaggi
    376
    se non hai problemi di sincronizzazione (cioe' non si tratta di un'applicazione dove gestisci thread diversi) io userei un ArrayList.

    Fare lo switch abbinato ad un ciclo da 1 a 20 come hai proposto non ha senso: tanto varrebbe scrivere "a mano" (senza switch e le indicazioni dei case diciamo) tutte le operazioni da fare senza iterare nulla, tipo:
    codice:
    TestoA1.setText("PIPPO");
    TeastoB1.setText("PLUTO");
    ...
    TestoA20.setText("PAPERINO");
    ...
    TestoF20.setText("GASTONE")
    che mi pare sia ingestibile e non quello che vuoi.

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.