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

    Gestire inserimento di valori non validi

    Premetto ke ancora sono alle prime armi con Java.
    Ho creato questa classe che disegna il numero di ellissi indicato nella casella di testo. Come faccio a gestire l'eventuale inserimento di valori non validi (lettere al posto di cifre) in modo ke ,in caso di valori errati , venga impostato sulla casella di testo con valore non valido il valore di default 10?
    Grazie!

    PS spero ke almeno la parte di codice scritta sia giusta!;P



    import java.awt.*;
    import java.awt.geom.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;

    public class DisegnaEllissi extends JPanel
    {

    private JLabel etichetta;
    private JTextField campoTest;
    private JButton pulsante;
    private int x,y,w,h;
    private int numEllissi;
    private Random generator;
    private int R,G,B;


    public DisegnaEllissi()
    {
    ButtonListener listener = new ButtonListener();

    etichetta = new JLabel();
    etichetta.setText("numero di ellissi");
    add(etichetta);

    campoTest = new JTextField();
    campoTest.setPreferredSize(new Dimension (100,25));
    add(campoTest);
    campoTest.addActionListener(listener…

    pulsante = new JButton("aggiorna");
    add(pulsante);
    pulsante.addActionListener(listener)…
    generator = new Random();




    }

    public void paintComponent(Graphics g)
    { super.paintComponent(g);
    Graphics2D g2 = (Graphics2D) g;

    for (int i = 0; i<numEllissi; i++)
    { x=generator.nextInt(getWidth());
    y=generator.nextInt(getHeight());
    w=generator.nextInt(200-50)+50;
    h=generator.nextInt(200-50)+50;
    R = generator.nextInt(255);
    G = generator.nextInt(255);
    B = generator.nextInt(255);
    while ( !((x+w)<(getWidth())) || !((y+h)<(getHeight())))
    {x=generator.nextInt(getWidth());
    y=generator.nextInt(getHeight());
    w=generator.nextInt(200-50)+50;
    h=generator.nextInt(200-50)+50;}

    g2.setColor(new Color(R,G,B));
    g2.fill(new Ellipse2D.Double (x,y,w,h));
    g2.setColor(Color.BLACK);
    g2.draw(new Ellipse2D.Double (x,y,w,h));

    }
    }

    public void numeroEllissi (int conto)
    { numEllissi = conto;
    repaint();
    }

    private class ButtonListener implements ActionListener
    { public void actionPerformed(ActionEvent event)
    { Object source = event.getSource();
    if (source == pulsante)
    repaint();

    if ( source == campoTest)
    { String input = campoTest.getText();
    numeroEllissi(Integer.parseInt(inp…
    campoTest.setText(" ");
    }

    }
    }



    }


    class MainApplicazione
    { public static void main (String[] args)
    { JFrame f = new JFrame();
    f.setContentPane(new DisegnaEllissi());
    f.setSize(800,800);
    f.setDefaultCloseOperation(JFrame.EXI…
    f.setVisible(true);
    }
    }

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto, hai postato su javascript tutta un'altra cosa, segnalo hai mod di sezione attendi il trasferimento.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013

    Re: Gestire inserimento di valori non validi

    ciao e benvenuto... usa i tag CODE per mantenere la formattazione dei brani di codice: se ne guadagna tutti...

    Venendo al dunque: tu hai un Button con allegato ascoltatore: perfetto. Nell'ascoltatore vorrai andare a "parsare" il testo inserito nel TextField e farci qualcosa: perfetto.

    Integer.parseInt può sollevare eccezioni... tipicamente sul formato non valido: ti resta da gestire queste eccezioni:
    codice:
    String input = campoTest.getText();
    int n_ellissi;
    try {
      n_ellissi = Integer.parseInt(input);
    }
    catch (Exception e) { // zzzzz formato non valido (?)
      campoTest.setText("10");
      n_ellissi = 10;
    }
    /* ...
      * altro codice per gestire il numero delle ellissi (per esempio, che succede se viene
      * inserito un numero negativo, oppure un valore troppo grande...
      * Una volta ripulita la variabile "n_ellissi", la passi come argomento al tuo metodo
      * per disegnare effettivamente le ellissi
    */
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,327

    Re: Re: Gestire inserimento di valori non validi

    Originariamente inviato da Andrea1979
    usa i tag CODE per mantenere la formattazione dei brani di codice: se ne guadagna tutti...
    Sì... ed il codice postalo indentato, altrimenti i tag CODE non servono a nulla.

    Ho provat ad aggiungerli io al tuo post, ma il codice non è indentato.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Grazie dell'aiuto!
    La prossima volta userò i tag CODE , scusatemi è la prima volta ke scrivo!
    Grazie ancora!

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.