A good answer might be:


Repeater

The labels do not need listeners because they generate no actions. The bottom text field does not need a listener because it will have its text set by the program (this is not an event.) Here is the application. Decide what should go in place of the ten buttons:

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

public class Repeater extends JFrame implements ActionListener
{

   JLabel inLabel     = new  (" " ) ;
   JTextField inText  = new JTextField( 15 );

   JLabel outLabel     = new  (" " ) ;
   JTextField outText = new JTextField( 15 );
   
   Repeater()  // constructor
   {  
      getContentPane().setLayout( new FlowLayout() );        
      getContentPane().add(   ) 
      getContentPane().add(   ) ;
      getContentPane().add(   ) ;
      getContentPane().add(   ) ;

      inText.addActionListener( ) ;
   }

  public void actionPerformed( ActionEvent evt)  
  {
    String name = inText.getText();
    outText.( name );
    repaint();                  
  }

  public static void main ( String[] args )
  {
    . . . . . .
  }
}
    . . . . . .

Click on a button to see what should go there. (This may not work on some web browsers. The text-only version of the program is in the next page.)

QUESTION 10:

How many of the ten blanks (buttons) did you get correct?