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

    JDialog return un array

    Ciao a tutti, dovrei realizzare un JDialog che però restituisca un array di stringhe. Ho controllato nelle varie api, ma tra tutti i Dialog che ho trovato al massimo posso far restituire una sola stringa.
    Potete aiutarmi?
    OnLine il nuovo sito: www.lasfidacontinua.it

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JDialog return un array

    Originariamente inviato da rob_santini
    Ciao a tutti, dovrei realizzare un JDialog che però restituisca un array di stringhe. Ho controllato nelle varie api, ma tra tutti i Dialog che ho trovato al massimo posso far restituire una sola stringa.
    No alt. Intanto stai pensando di fare una "tua" dialog che contiene i componenti che vuoi o pensi di usare un JOptionPane???
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Pensavo di fare una mia dialog, dato che devo inserire più TextFields. Se non sbaglio con JOptionPane posso avere una sola TextField, giusto?
    OnLine il nuovo sito: www.lasfidacontinua.it

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rob_santini
    Pensavo di fare una mia dialog, dato che devo inserire più TextFields.
    Bene, quale è il problema? Se la dialog deve essere "modale" allora fai un tuo metodo nella classe che estende JDialog del tipo:

    codice:
    public String[] mostra() {
        setVisible(true);
        .... prende i dati dai campi .....
    }
    Non è l'unico modo .... un altro sarebbe quello di offrire i metodi per prelevare le informazioni ... comunque senza far "sapere" nulla di come è fatta internamente la dialog.
    Quindi il codice esterno che usa la dialog farebbe una cosa del tipo:

    codice:
    tuaDialog.setVisible(true);
    String[] v = tuaDialog.getTuoiDati();
    Se riesci a "modellare" tutte le informazioni da restituire come un singolo oggetto (o array) però è più "pulita" la prima soluzione, perché incapsula meglio il tutto.

    Originariamente inviato da rob_santini
    Se non sbaglio con JOptionPane posso avere una sola TextField, giusto?
    Di default sì ma tieni presente che il "message" può essere anche un Component. Quindi virtualmente puoi mostrare es. pannelli, più componenti ecc...
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Originariamente inviato da andbin
    Quindi il codice esterno che usa la dialog farebbe una cosa del tipo:

    codice:
    tuaDialog.setVisible(true);
    String[] v = tuaDialog.getTuoiDati();
    Ci avevo già pensato, ma la funzione getTuoiDati() deve essere eseguita DOPO che la finestra tuaDialog è stata chiusa.
    OnLine il nuovo sito: www.lasfidacontinua.it

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rob_santini
    Ci avevo già pensato, ma la funzione getTuoiDati() deve essere eseguita DOPO che la finestra tuaDialog è stata chiusa.
    Ma la dialog deve essere "modale"? Se modale, allora setVisible(true) ritorna solo quando la dialog viene chiusa.

    Se non deve essere "modale" allora si può fare ma la cosa richiede un certo "asincronismo". Nel senso che la dialog, alla chiusura, potrebbe informare il codice "client" tramite la invocazione di un metodo (ad esempio di una interfaccia ... giusto per disaccoppiare client e dialog). Oppure si può bloccare il thread corrente (se è il EDT però non puoi farlo) finché la dialog non è stata chiusa. Ma richiede comunque un sistema di "attesa/notifica" in generale (poi come farlo ... dipende).
    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.