Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    3

    [java] aggiungere un controllo sui campi di inserimento

    Ringrazio innanzitutto l'utente che mi ha aiutato in precedenza!


    Ciao a tutti, avrei bisogno di inserire un if che mi controlli che nell'area di testo vengano inseriti solo numeri e non caratteri, e che qualora se ne si inseriscano, mi dia una finestra di messaggio. Grazie per l'aiuto!

    /**
    * questi pacchetti contengono le componenti per la gestione delle finestre e degli eventi
    */
    import javax.swing.*;
    import java.awt.event.*;
    public class RifaccioMedia2 {

    public static void main (String[] args) {


    /**
    *Costruisco una finestra e permetto che la JVM si possa fermare (parametro exit_on_close)
    */
    JFrame finestra = new JFrame("Calcolo la media di due numeri, anche a virgola mobile");
    finestra.setDefaultCloseOperation(JFrame.EXIT_ON_C LOSE);


    /**
    *Costruisco un pannello; setlayout crea l'interfaccia e l'oggetto boxlayout la disposizione, che posso variare.
    */
    JPanel pannello = new JPanel();
    pannello.setLayout(new BoxLayout(pannello, BoxLayout.Y_AXIS));

    /**
    *showmessagedialog è un metodo della classe joptionpane che mi crea una finestra di dialogo "preconfezionata"
    */
    JOptionPane.showMessageDialog( null, "Benvenuto nel programma di calcolo della media di due numeri creato da Francesco" );

    if (PrimoNumero == char ) {
    JOptionPane.showMessageDialog( null, "Puoi inserire solo numeri interi o con la virgola, non caratteri" );
    }

    /**
    *Costruisco una scritta ed un'area di testo e li aggiungo al pannello
    */
    JLabel PrimoNumerolabel = new JLabel("Primo numero:");
    final JTextField PrimoNumero = new JTextField(50);
    pannello.add(PrimoNumerolabel);
    pannello.add(PrimoNumero);

    /**
    *Costruisco una scritta ed un'area di testo e li aggiungo al pannello (per il secondo numero)
    */
    JLabel SecondoNumerolabel = new JLabel("Secondo numero:");
    final JTextField SecondoNumero = new JTextField(50);
    pannello.add(SecondoNumerolabel);
    pannello.add(SecondoNumero);

    /**
    *Costruisco un bottone e lo aggiungo al pannello
    */
    JButton pulsOk = new JButton("OK");
    pannello.add(pulsOk);

    /**
    *Costruisco una scritta ed un'area di testo e li aggiungo al pannello (per il risultato)
    */
    JLabel RisultatoLabel = new JLabel("Risultato:");
    final JTextField Risultato = new JTextField(50);
    pannello.add(RisultatoLabel);
    pannello.add(Risultato);



    /**
    *Questa classe implementa l'actionlistener contenuto nel pacchetto java.awt.event
    */
    class Media implements ActionListener{
    /**
    * All'interno di questa classe, implemento actionperformed per dire "cosa fare" una volta intercettata la pressione del pulsante
    */
    public void actionPerformed (ActionEvent event) {
    String fromUser = PrimoNumero.getText();
    String fromUser2 = SecondoNumero.getText();


    double n1 = Double.parseDouble(fromUser);
    double n2 = Double.parseDouble(fromUser2);
    double media = (n1 + n2) / 2 ;
    String calcola = "";
    String risultato = calcola.format("%.2f", media); // %.2f mette la virgola ai decimali
    Risultato.setText(risultato); //mette il totale in risultato
    }
    }

    /**
    *Creo un istanza di actionlistener ed aggiungo pulsOK (che contiene un oggetto jbutton). Il tipo della variabile listener può essere Media perchè implementa actionlistener
    */

    ActionListener listener = new Media();

    pulsOk.addActionListener(listener);
    finestra.setContentPane(pannello);
    finestra.pack();//Assegna le dimensioni minime sufficienti a mostrare tutto il contenuto della finestra
    finestra.setVisible(true);
    }
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    3
    @ RAVE MASTER:

    non ho ben capito il primo metodo che mi consigli

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.