Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29

    aiuto jtextfield netbeansc

    ciao!
    ci sbatto la testa da un pò e non riesco a tirare fuori la soluzione, spero che qui trovi una risposta.
    allora. ho un bellissimo programma, realizzato tramite netbeans, che fa quanto segue:
    da una casella jtextField un utente inserisce un numero di telefono.
    quello che vorrei fare io è prendere questo numero di telefono.
    tramite netbeans faccio un click con il tasto destro sulla jtextfield incriminato, events, action, actionperformed.
    fin qui ok.
    netbeans crea in automatico per me (jTextField1ActionPerformed ).
    so che il metodo giusto da usare è getText() (ho letto bene bene le API)ma come faccio a poter gestire la stringa che è stata inserita dall'utente per trasformarla in intero e farci un piccolo programmino che mi sta facendo impazzire? aiutatemi vi prego

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Le domande su Java vanno nella sezione apposita.
    Sposto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    hai provato con Integer.parseInt(numeroDiTelefono) ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    il problema non è l'Integer.parseInt, il problema è che il metodo è un private e fuori dal private non mi riconosce più la stringa

  5. #5
    Non capisco quello che vuoi dire. il metodo getText() non è privato. qual'è il private che ti mette in difficoltà ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    creando nella parte grafica un bottone, netbeans crea in automatico questo metodo (che non è modificabile):


    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {

    }

    io ho scritto:

    String ntelef=null;
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    ntelef=jTextField1.getText();
    System.out.println("il numero del telefono inserito è: "+ntelef);
    }

    fuori da questo metodo non riesco a gestire la stringa ntelef. o meglio qualsiasi cosa faccio ottengo sempre null. come se il main non leggesse all'interno del metodo private per prendere il numero di telefono che inserisco

  7. #7
    Mhm se ntelef è sempre null significa che l'istruzione ntelef=null è chiamata più volte e non solo
    quando la classe è costruita. Non è che è un campo di una classe interna ?

    altrimenti non vedo perchè un
    codice:
    public String getNumTel(){
    
         return ntelef;
    
    }
    non dovrebbe funzionarti ua volta che il bottone è stato premuto

  8. #8
    Utente bannato
    Registrato dal
    Oct 2010
    Messaggi
    1,219
    Perchè l' hai inizializzata con null, posso vedere anche il resto del codice?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    29
    ecco qui la ultima prova che ho fatto:


    public class Elenco extends javax.swing.JFrame {

    /** Creates new form Elenco */
    public Elenco() {
    initComponents();
    }

    /** This method is called from within the constructor to
    * initialize the form.
    * WARNING: Do NOT modify this code. The content of this method is
    * always regenerated by the Form Editor.
    */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

    jButton1 = new javax.swing.JButton();
    jButton2 = new javax.swing.JButton();
    jTextField1 = new javax.swing.JTextField();

    setDefaultCloseOperation(javax.swing.WindowConstan ts.EXIT_ON_CLOSE);

    jButton1.setText("inserisci");
    jButton1.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton1ActionPerformed(evt);
    }
    });

    jButton2.setText("esci");
    jButton2.addActionListener(new java.awt.event.ActionListener() {
    public void actionPerformed(java.awt.event.ActionEvent evt) {
    jButton2ActionPerformed(evt);
    }
    });

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
    getContentPane().setLayout(layout);
    layout.setHorizontalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
    .addContainerGap(96, Short.MAX_VALUE)
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 177, javax.swing.GroupLayout.PREFERRED_SIZE)
    .addPreferredGap(javax.swing.LayoutStyle.Component Placement.UNRELATED)
    .addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.LEADING)
    .addComponent(jButton2)
    .addComponent(jButton1))
    .addGap(48, 48, 48))
    );
    layout.setVerticalGroup(
    layout.createParallelGroup(javax.swing.GroupLayout .Alignment.LEADING)
    .addGroup(javax.swing.GroupLayout.Alignment.TRAILI NG, layout.createSequentialGroup()
    .addContainerGap(160, Short.MAX_VALUE)
    .addGroup(layout.createParallelGroup(javax.swing.G roupLayout.Alignment.BASELINE)
    .addComponent(jButton1)
    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
    .addGap(35, 35, 35)
    .addComponent(jButton2)
    .addGap(45, 45, 45))
    );

    pack();
    }// </editor-fold>

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    System.exit(WIDTH);
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    String ntelef=null;
    ntelef=jTextField1.getText();
    System.out.println("il numero del telefono inserito è: "+ntelef);

    }

    public void gestisci(){

    //IL PROBLEMA È QUI: NON RICONOSCE più ntelef
    System.out.println("numero di telefono: "+ntelef);
    }
    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
    java.awt.EventQueue.invokeLater(new Runnable() {
    public void run() {
    new Elenco().setVisible(true);
    }
    });
    Elenco el=new Elenco();
    el.gestisci();
    }

    // Variables declaration - do not modify
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JTextField jTextField1;
    // End of variables declaration

    }


    in una versione precedente ho messo String ntelef=null; fuori dal metodo private e allora stampa sempre null.

  10. #10
    Il problema è che dichiari ex novo la variabile ntelef dentro a jButton1ActionPerformed.

    non capisco come non possa darti errore il compilatore in gestisci() dato che stai usando una variabile fuori scope.
    forse hai dichiarato ntelef anche come variabile di classe ma in quel case dentro a jButton1ActionPerformed,
    dichiarando una nuova variabile di nome ntelef, ne sovrascrivi la visibilità.

    prova a sostituire
    codice:
    String ntelef=null;
    con questa struzione (dichiarando ntelef come variabile di classe)

    codice:
    ntelef=null;

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.