package primitive;

import java.awt.*;
import java.awt.event.*;

public class Esempio extends Frame implements ActionListener 
{
	private String fileDati;
	
	// componenti presenti sul frame
	MenuBar barraMenu;
	Menu menuFile;
	MenuItem fileEsci;
	PianoXY piano;
	Panel pannelloBase;
	Label labelStato;
	
	public Esempio(String s)
	{
		fileDati = s;
		
		inizializzaComponenti();
		inizializzaAscoltatoriEventi();
		
		setSize(650, 550);
		setLocationRelativeTo(null);
		setVisible(true);
	}
	
	private void inizializzaComponenti()
	{
		// creo i vari componenti
		barraMenu = new MenuBar();
		menuFile = new Menu("File");
		fileEsci = new MenuItem("Esci");
		piano = new PianoXY(fileDati);
		pannelloBase = new Panel(new BorderLayout());
		labelStato = new Label("Stato");
		
		menuFile.add(fileEsci);
		barraMenu.add(menuFile);
		setMenuBar(barraMenu);
		// aggiungo il pannello base
		add(pannelloBase);
		pannelloBase.add(piano, BorderLayout.CENTER);
		pannelloBase.add(labelStato, BorderLayout.SOUTH);		
	}

	private void inizializzaAscoltatoriEventi()
	{
		this.addWindowListener(new AscoltatoreEventiWindow());
		fileEsci.addActionListener(this);
	}
	
	public void actionPerformed(ActionEvent e)
	{
		String cmd = e.getActionCommand();
		labelStato.setText(cmd);
		if (cmd.equals("Esci"))
		{
			System.exit(0);
		}

	}

	public static void main (String args[])
	{
		Esempio myFrame = new Esempio("esempio1.dat");
	}
}
