import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class ExceptionDemo extends JPanel implements ActionListener { private JTextField stringField; private JTextField resultField; private JLabel resultLabel, stringLabel; ExceptionDemo() { // créer les objets stringLabel = new JLabel("tapez un entier: "); resultLabel = new JLabel("Reponse: "); stringField = new JTextField(20); resultField = new JTextField(20); resultField.setEditable(false); // disposer les objets JPanel p = new JPanel(); p.add(stringLabel); p.add(stringField); add(p,BorderLayout.NORTH); p=new JPanel(); p.add(resultLabel); p.add(resultField); add(p,BorderLayout.CENTER); // installer les listeners stringField.addActionListener(this); } public void actionPerformed(ActionEvent event) { if (event.getSource() == stringField) { try{ int number = Integer.parseInt(stringField.getText()); resultField.setText("Le double est "+(2*number)); } catch (NumberFormatException e) { resultField.setText("Erreur: retapez svp "); } } } public static void main (String args[]) { JFrame f = new JFrame(); f.getContentPane().add(new ExceptionDemo()); f.setLocation(100,100); f.setSize(400,300); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }