Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    5

    [JAVA] Salvare testo di un JTEXTFIELD

    Salve ragazzi, premetto che sono nuovo sia su questo sito che nel mondo di JAVA.
    Recentemente ho iniziato a programmare con il WindowBuilder Editor di eclipse.
    Il mio problema è che mi serve salvare ciò che viene immesso in un JTextField, in una variabile stringa.
    ho provato con un KeyListener o uno scanner ma non ho idea del come fare.

    Qualche soluzione?

    Grazie a tutti.

  2. #2
    codice:
    JTextField field=new JTextField("");
    ..
    ..
    ..
    String txt=field.getText();
    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

  3. #3
    Ciao Jeexo,
    Diciamo che hai iniziato male....
    Butta via windowBuilder è impara prima ad usare Swing (segui i tutorial sul sito oracle) una volta che ti sei impadronito degli strumenti allora puoi tranquillamente passare a windowBuilder....

    Venendo al tuo problema non ho capito se vuoi salvarti il testo via via che viene inserito o dopo che si sia scatenata una certa azione, che ne so alla pressione di JButton.

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Le GUI lavorano ad eventi: deve esserci un evento che scatena un'operazione. Questo evento può essere la pressione di un pulsante, il clic su un bottone, la perdita del focus di un componente, ecc.

    In merito a quale evento vorresti recuperare (salvare significa un'altra cosa) il testo scritto nella variabile String?

    Il KeyListener è un listener che risponde a 3 eventi distinti: pressione di un tasto, rilascio di un tasto e (combinazione delle due) digitazione di un carattere... non mi pare sia "sensato" usare un KeyListener per questi scopi.

    Se vuoi recuperare la stringa, ad esempio, quando l'utente preme INVIO (scatena un'azione ben precisa, di conferma sul campo), puoi aggiungere un ActionListener alla JTextField:


    codice:
    tuaTextField.addActionListener( new ActionListener() {
       @Override
       public void actionPerformed(ActionEvent ae) {
          recuperaContenuto();
       }
    });
    
    ...
    
    private void recuperaContenuto() {
       String str = tuaTextField.getText();
       // Fai quel che vuoi con la stringa "str"
    }

    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    5
    Schumy2000, così facendo io salvo quello che sta dentro jtextfield prima dell'esecuzione del programma,a me serve salvare quello che un eventuale individuo scrive nel jtextfield DURANTE l'esecuzione del programma.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    5
    si lo so, infatti prima ho seguito delle guide di swing e poi ho applicato ciò che ho imparato nel windowbuilder.

    a me servirebbe via via che viene inserito.

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quote Originariamente inviata da Jeexo Visualizza il messaggio
    Schumy2000, così facendo io salvo quello che sta dentro jtextfield prima dell'esecuzione del programma,a me serve salvare quello che un eventuale individuo scrive nel jtextfield DURANTE l'esecuzione del programma.
    Ehm... quei puntini di sospensione che shumy2000 ha messo stavano proprio ad indicare "in un altro punto del programma"...


    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

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    99
    "a me servirebbe via via che viene inserito."


    Allora si, forse ti serve il KeyListener, ma occhio che scatterà ad ogni lettera digitata
    Ultima modifica di Gatsu78; 25-02-2015 a 18:05
    se mi chiedeste chi è per me un vero amico vi risponderei che è una persona che io considero alla pari di me.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320
    Quote Originariamente inviata da Jeexo Visualizza il messaggio
    si lo so, infatti prima ho seguito delle guide di swing e poi ho applicato ciò che ho imparato nel windowbuilder.

    a me servirebbe via via che viene inserito.

    Allora conviene usare un DocumentListener, in modo che venga monitorato il cambiamento sul Document associato alla JTextField:

    codice:
    tuaTextField.getDocument().addDocumentListener( new DocumentListener() {
         @Override
         public void changedUpdate(DocumentEvent de) {
             rileggi();
         }
            
         @Override
         public void removeUpdate(DocumentEvent de) {
             rileggi();
         }
            
         @Override
         public void insertUpdate(DocumentEvent de) {
             rileggi();
         }
    });
    
    ...
    
    private void rileggi() {
       String str = tuaTextField.getText();
       // Fai quel che vuoi con "str"
    }

    Ogni volta che viene modificata la JTextField (che vengano digitati dei caratteri, che ne vengano modificati o tolti), verrà invocato il metodo rileggi() che prende il contenuto (attuale) della JTextField e ne fa... quel che vuoi, appunto.


    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

  10. #10
    ok, allora la prossima volta spiegati meglio, dalle tua parola traspariva il fatto di assegnare ad una stringa il testo dentro una JTextField.
    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

Tag per questa discussione

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.