- Home
- Categorie
- Coding e Sistemistica
- Coding
- Probemino con java
- 
							
							
							
							
							
Probemino con javaCiao 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_CLOSE);/** 
 *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);
 }
 }
 
- questi pacchetti contengono le componenti per la gestione delle finestre e degli eventi