import java.awt.*;
import javax.swing.*;

/** Definisce la vista di un contatore, cioe` la sua
interfaccia grafica.
*/
public class CounterView extends JPanel implements CounterInterfaceView {
        /** Costruttore della classe, crea un JPanel su cui viene
        inserita una JLabel e ... 
        @param model un contatore*/
	public CounterView(Counter model){
		super(new BorderLayout()); // alternativa: setLayout(new BorderLayout());
		contatore = model;       
		label = new JLabel("");
		JPanel panelCenter = new JPanel(new FlowLayout());   
		panelCenter.add(label);   
		add(panelCenter, BorderLayout.CENTER); 
		bottoniControllo = new CounterControl(contatore, this); //passo il modello e la vista (this)
		JPanel panelSouth = new JPanel(new FlowLayout());    
		panelSouth.add(bottoniControllo);  
		add(panelSouth, BorderLayout.SOUTH);
		updateView();
	}
	public void updateView(){      
		label.setText("Valore Contatore: " + contatore.getVal());
	}
/**@directed
@label contatore
@clientCardinality 1
@supplierCardinality 1*/
	private Counter contatore;
	private JLabel label;
/**@directed
@label bottoniControllo
@clientCardinality 1
@supplierCardinality 1*/
	private CounterControl bottoniControllo;
}


















