/**
 * 
 */
package view.aide;

import java.awt.Color;
import java.awt.Font;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.font.TextAttribute;
import java.util.Map;

import javax.swing.JLabel;

import tool.observable.EasyObservable;

/**
 * @author alexis
 *
 */
public class JLinkedLabel extends JLabel implements MouseListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = 8733901227620440139L;
	/**
	 * 
	 */
	private EasyObservable obs;
	private String ID;
	
	public JLinkedLabel(String _ID) {
		initVariable(_ID);
	}
	
	public JLinkedLabel(String _ID, String label){
		super(label);
		initVariable(_ID);
	}
	
	public void initVariable(String _ID){
		obs = new EasyObservable();
		ID = _ID;
		
		this.setForeground(Color.BLUE);
		
		Font font = new Font("Arial", Font.PLAIN, 14);
		Map attributes = font.getAttributes();
		attributes.put(TextAttribute.UNDERLINE, TextAttribute.UNDERLINE_ON);
		
		this.setFont(font.deriveFont(attributes));
		
		this.addMouseListener(this);
	}

	public EasyObservable getObservable(){
		return obs;
	}

	@Override
	public void mouseClicked(MouseEvent arg0) {
		obs.notifyObservers(ID);
	}

	@Override
	public void mouseEntered(MouseEvent arg0) {}

	@Override
	public void mouseExited(MouseEvent arg0) {}

	@Override
	public void mousePressed(MouseEvent arg0) {}

	@Override
	public void mouseReleased(MouseEvent arg0) {}

}
