Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305

    Reperire info Jtextfield

    Salve ho il seguente problema ho un form con una textfield e un jbutton, ho bisogno di reperire le informazioni della textfield dopo la pressione del bottone. L'actionListener non è implementato come inner class, avevo pensato di passare come parametro del costruttore dell' actionlistener la textfield ma sembra poco elegante . avete altri suggerimenti?

  2. #2
    Beh ti basta passare la stringa contenuta nel JTextField se devi operare su di essa.
    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
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    ma la stringa nella textfield non è gia inserita viene inserita a runtime !! e quindi sarà presente solo dopo aver premuto il pulsantre. mentre il listener è istanziato prima !!

  4. #4
    non ho capito la tua obiezione

    codice:
    JTextField field=new JTextField();
    JButton button=new JButton("Test");
    button.addActionListener(new TextListener(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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    non va bene cosi !! il tuo codice presuppone che la tua JtextField contenga gia del testo . mentre il testo deve essere inserito a runtime del programma!

  6. #6
    Ma non è assolutamente vero...come puoi vedere la JTextField è senza testo visto che il costruttore è vuoto.

    Poi se ha in mente qualcos'altro spiegati meglio o posta un minimo di codice.

    questa classe qui (TextField) verrà chiamata e istanziata quando premerai il bottone quindi il JTextField sarà stato riempito e valorizzato a runtime come chiedi.
    codice:
     button.addActionListener(new TextListener(field.getText()));
    Ultima modifica di schumy2000; 27-03-2014 a 19:01
    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

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    L'actionListener non è implementato come inner class, avevo pensato di passare come parametro del costruttore dell' actionlistener la textfield ma sembra poco elegante . avete altri suggerimenti?
    Se l'ActionListener è in una classe esterna a quella dove c'è il campo di istanza per il JTextField, ci sono diverse possibilità per ottenere testo (o altro del JTextField) nel actionPerformed.

    1) Passare al ActionListener (da costruttore, tipicamente) il riferimento al JTextField. Questo non è sbagliato o "brutto". Dipende molto anche dal concetto dell'uso di tale JTextField.
    2) Passare al ActionListener (idem, costruttore) il riferimento alla classe che incapsula il JTextField e fare in modo da offrire un metodo pubblico che o ritorna direttamente il JTextField (meno bello) oppure il testo o altro dato necessario (più bello). Ma non esporre direttamente il campo!
    3) Passare al ActionListener un oggetto che implementa una interfaccia che permette di disaccoppiare il listener dal resto. La interfaccia potrebbe avere metodi es. getTesto() e/o qualunque altra cosa. Il punto è che al listener non interessa come/dove è implementata.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Ah si? ti chiedo scusa allora .. pensavo fosse istanziata prima la classe ! adesso provo grazie!

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Ti sbagli ho appena provato non è come dici tu !! @schumy2000
    Ultima modifica di linux_r; 27-03-2014 a 19:08

  10. #10
    ma se posti un po di codice non è meglio?
    vedendo si può capire meglio...

    P.s. io l'ho provato e mi funziona..chissà come l'hai scritto
    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

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.