package fr.utc.leapband.view;
import java.awt.Cursor;
import java.awt.Image;
import java.awt.Point;
import java.awt.Toolkit;
import java.awt.image.MemoryImageSource;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.util.Timer;
import javax.swing.JFrame;
import fr.utc.leapband.sma.user.UserAgent;
import fr.utc.leapband.utilities.Constance;
@SuppressWarnings("serial")
public abstract class JAgentFrame extends JFrame implements PropertyChangeListener{
UserAgent myAgent;
Timer click_task = null;
public JAgentFrame(UserAgent agent) {
super();
myAgent = agent;
myAgent.addPropertyChangeListener(this);
}
@Override
public void propertyChange(PropertyChangeEvent evt){
if (evt.getPropertyName().equals(Constance.CHANGE_FRAME)) {
if ((String)evt.getOldValue() == getName()) {
setVisible(false);
} else if ((String)evt.getNewValue() == getName()) {
setVisible(true);
}
}
}
public void hideCursor() {
Image image = Toolkit.getDefaultToolkit().createImage(
new MemoryImageSource(0, 0, new int[0], 0, 0));
this.setCursor(Toolkit.getDefaultToolkit().createCustomCursor(image,
new Point(0, 0), null));
}
public void changeCursorImage(String new_image) {
Toolkit toolkit = Toolkit.getDefaultToolkit();
Image cursorImage = toolkit.getImage(new_image);
Point cursorHotSpot = new Point((int)myAgent.pointer.x,(int)myAgent.pointer.y);
Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor");
setCursor(customCursor);
}
}