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

/**
 * Ikkunaluokka.
 */
public class NapitFrame extends JFrame
{
  private JToggleButton beepButton = new JToggleButton( "Beep me" );
  private JButton pushButton = new JButton( "Push me" );

  /**
   * Konstruktori.
   */
  public NapitFrame()
  {
    FlowLayout flowLayout = new FlowLayout();
    flowLayout.setHgap( 20 );
    flowLayout.setVgap( 20 );

    JPanel contentPane = ( JPanel ) getContentPane();
    contentPane.setLayout( flowLayout );

    setTitle( "Nappi" );
    setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE );
    setResizable( false );
    setSize( new Dimension( 400, 140 ) );

    beepButton.addActionListener( new java.awt.event.ActionListener()
    {
      public void actionPerformed( ActionEvent e )
      {
        beepButton_actionPerformed( e );
      }
    } );

    pushButton.addActionListener( new java.awt.event.ActionListener()
    {
      public void actionPerformed( ActionEvent e )
      {
        pushButton_actionPerformed( e );
      }
    } );

    contentPane.setBorder( BorderFactory.createEtchedBorder() );
    contentPane.add( beepButton, null );
    contentPane.add( pushButton, null );
  }

  /**
   * Napin tutkinen.
   * @param e tapahtuman tarkempi kuvaus
   */
  private void beepButton_actionPerformed( ActionEvent e )
  {
    Toolkit.getDefaultToolkit().beep();
  }

  /**
   * Napin tutkinen.
   * @param e tapahtuman tarkempi kuvaus
   */
  private void pushButton_actionPerformed( ActionEvent e )
  {
    beepButton.doClick();
  }

}
