Użycie komponentów graficznych i obsługa zdarzeń

  1. Przeanalizuj, przetestuj i przedyskutuj z kolegami obydwa przykłady.

  2. Dodaj przycisk (JButton) realizujący podnoszenie liczby do kwadratu.

  3. Obsłuż wyjątek polegający na wpisaniu liczby w niewłaściwym formacie (NumberFormatException).

demo.jar


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



class Akcja implements ActionListener
{
   public void actionPerformed(ActionEvent e)       
   {                                                
      Object target = e.getSource();                
                                                    
      if(target==Demo.b1||target==Demo.t1)          
      {                                             
         int i=Integer.parseInt(Demo.t1.getText()); 
         Demo.t1.setText(Integer.toString(2*i));    
         Demo.t1.requestFocus();                    
      }                                             
      else if (target==Demo.b2)                     
      {                                             
         Demo.t1.setText("");                       
         Demo.t1.requestFocus();                    
      }                                             
   }                                                
}



public class Demo
{
   static JTextField t1;
   static JButton b1;
   static JButton b2;
   
   public static void main(String[] args)               
   {                                                    
      t1=new JTextField(6);                             
      b1=new JButton("*2");                             
      b2=new JButton("clear");                          
                                                        
      JPanel p=new JPanel();                            
      p.add(t1);                                        
      p.add(b1);                                        
      p.add(b2);                                        
                                                        
      Akcja a=new Akcja();                              
      t1.addActionListener(a);                          
      b1.addActionListener(a);                          
      b2.addActionListener(a);                          
                                                        
      JFrame f=new JFrame();                            
      Container c=f.getContentPane();                   
      c.add(p);                                         
      f.setSize(200,60);                                
      f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
      f.setVisible(true);                               
   }                                                    
}