import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;

public class SwingDemo extends JFrame{
	JLabel msgLabel;
	
	public SwingDemo(){
		super("Swing");
		setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
		addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(0);
				}
				});
				
				ActionListener al = new ActionListener(){
					public void actionPerformed(ActionEvent ae){
						msgLabel.setText(((JButton)ae.getSource()).getText());
						}
						};
						
						JButton button;
						JPanel buttonPanel = new JPanel();
						buttonPanel.setBorder(new TitledBorder("Click a button"));
						for (int i = 0; i < 3; i++){
							button = new JButton("Button " + (i + 1));
							button.addActionListener(al);
							buttonPanel.add(button);
							}
							
							JPanel p = new JPanel(new BorderLayout());
							p.setBorder(new EmptyBorder(8, 8, 8, 8));
							msgLabel = new JLabel("No button pressed!");
							p.add(msgLabel, BorderLayout.NORTH);
							p.add(buttonPanel, BorderLayout.CENTER);
							setContentPane(p);
							pack();
							setVisible(true);
							}
							
public static void main(String[] args){
	new SwingDemo();
	}
}