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

    problema JTextfield e gettext()

    codice:
    import java.awt.*;
    import javax.swing.text.JTextComponent;
    import javax.swing.*;
    public class Panel extends JPanel {
        private JTextField a,b;
        private JLabel l,l1;
        private JButton b1;
        private String nome,cognome;
        public Panel(){
            a=new JTextField();
            l=new JLabel("NOME:");
            l1=new JLabel("COGNOME:");
            b=new JTextField();
            this.setLayout(null);
            l.setBounds(20, 20, 100, 30);
            a.setBounds(120,20,200,30);
            l1.setBounds(20, 80, 100, 30);
            b.setBounds(120,80,200,30);
            add(a);    add(b);    add(l1); add(l);
            nome =a.getText();
            cognome=b.getText();
            JOptionPane.showMessageDialog(null, "premi FINITO quando hai fatto");
            b1=new JButton("FINITO");
            b1.setBounds(20, 150, 100, 60);
            add(b1);
            System.out.println(""+nome+""+cognome);
            b1.addActionListener(new Listener(b1,nome,cognome));
    }
        }

    se provo a stampare le stringhe nome e cognome, il risultato è sempre lo
    stesso, sono vuote.
    Qualcuno sa dirmi il perché ???
    grazie
    Ultima modifica di LeleFT; 05-06-2015 a 13:17 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Se prendi il testo appena poco dopo aver istanziato i JTextField .... cosa ti aspetti di diverso?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

  3. #3
    quindi... devo prendere il testo dopo?
    uso una pausa o qualcos'altro ?

  4. #4
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Forse quello che vuoi fare è stampare le stringhe quando premi il tasto "FINITO", vero?
    In questo caso ti basta mettere il codice per la stampa dentro al listener che associ al bottone.

  5. #5
    Allora, io vorrei passare le variabili "nome" e "cognome" a un altra classe, il pulsante finito serve a creare una nuova finestra. Il nome e cognome mi servono per usarli come dati utente. La cosa che non capisco è come salvare il testo contenuto in una JTextfield dentro una stringa.

  6. #6
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Con il metodo getText()

  7. #7
    Lo so che si usa il metodo getText(), difatti avevo scritto:
    String nome=a.getText();
    dove a sta per il JTextfield, il problema è che non mi salva ciò che scrivo nella JTextfield, se prova a stamparla, la stringa è vuota.

  8. #8
    Utente di HTML.it L'avatar di minomic
    Registrato dal
    Nov 2010
    Messaggi
    635
    Perché quel codice lo devi mettere nel listener che associ al bottone: prima compili i campi, e poi (quando clicchi sul bottone) li vai a leggere.

  9. #9
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da guidofinco Visualizza il messaggio
    Lo so che si usa il metodo getText(), difatti avevo scritto:
    String nome=a.getText();
    dove a sta per il JTextfield, il problema è che non mi salva ciò che scrivo nella JTextfield, se prova a stamparla, la stringa è vuota.
    Devi capire che con un'interfaccia grafica devi ragionare a eventi. Che senso ha creare il campo di testo e immediatamente chiamare getText()? Dovrai creare un apposito listener (sulla casella di testo, su un pulsante, dove vuoi) al cui interno chiamerai il getText()...
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  10. #10
    grazie...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.