/**
 * Sample #4: Same as #2, but add title border around buttons.
 */
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class Swing4
{
    public static void main( String [] args )
    {
        JFrame f = new JFrame( "Swing Test" );

        f.addWindowListener( new WindowAdapter( )
        {
            public void windowClosing( WindowEvent e )
            {
                System.exit( 0 );
            }
        } );

        JPanel p = new JPanel( );
        JPanel buttons = new JPanel( );
        JButton qb = new JButton( "quit" );
        JButton pb = new JButton( "push me" );
        final JTextField tf = new JTextField( 20 );

        tf.setEditable( false );
        buttons.add( qb );
        buttons.add( pb );
        buttons.setBorder( new TitledBorder( "Buttons" ) );
        p.add( buttons );
        p.add( tf );

        f.setContentPane( p );
        f.setSize( 300, 150 );
        f.setVisible( true );

        qb.setMnemonic( 'q' );
        qb.setToolTipText( "press to quit" );
        pb.setMnemonic( 'a' );
        pb.setToolTipText( "press to add *" );

        qb.addActionListener( new ActionListener( )
        {
            public void actionPerformed( ActionEvent e )
            {
                System.exit( 0 );
            }
        } );
        pb.addActionListener( new ActionListener( )
        {
            public void actionPerformed( ActionEvent e )
            {
                tf.setText( tf.getText( ) + "*" );
            }
        } );
    }
}
