package fr.utc.leapband.view; //import musicview; import jade.gui.GuiEvent; import java.awt.Color; import java.awt.Cursor; import java.awt.Font; import java.awt.Image; import java.awt.Point; import java.awt.Toolkit; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.Timer; import javax.swing.BorderFactory; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.Border; import fr.utc.leapband.sma.user.UserAgent; import fr.utc.leapband.utilities.Constance; import fr.utc.leapband.utilities.OvalBorder; import fr.utc.leapband.utilities.RoundedBorder; @SuppressWarnings("serial") public class ControlPane extends JPanel { // personnel cursor private UserAgent myAgent; private Boolean propietaire = true; private int width; private int height; public JLabel player; JLabel rewind; JLabel forward; Timer click_task = null; private JLabel home; private JLabel play; private JLabel volume; private JButton music; boolean isPlay=false; public ControlPane(UserAgent agent) { this.width=Constance.Windows_width; this.height=Constance.Windows_height; this.myAgent=agent; Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); this.setCursor(customCursor); this.setLayout(null); this.setBackground(new Color(255,255,204)); home = new JLabel(new ImageIcon("images/home.png")); home.setBounds((int) (width*0.01),(int) (height*0.02),100,100); home.addMouseListener(new MouseListener() { @Override public void mouseExited(MouseEvent e) { home.setBorder(null); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); setCursor(customCursor); if (click_task != null) { click_task.cancel(); click_task = null; } } @Override public void mouseEntered(MouseEvent e) { home.setBorder(new OvalBorder(home.getWidth(),home.getHeight(),new Color(153,153,255))); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); click_task = new Timer(); click_task.schedule( new java.util.TimerTask() { @Override public void run() { play.setIcon(new ImageIcon("images/play.png")); isPlay=false; GuiEvent ev = null; if (!myAgent.isMultipleMode() || myAgent.isHost()) { ev = new GuiEvent(this,UserAgent.CONTROL_MUSIC_EVENT); ev.addParameter(isPlay); myAgent.postGuiEvent(ev); } ev = new GuiEvent(this,UserAgent.SELECT_EVENT); ev.addParameter(UserAgent.return_Menu); myAgent.postGuiEvent(ev); } }, Constance.click_delay ); } @Override public void mouseClicked(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }); player = new JLabel(new ImageIcon("images/person2.jpg")); player.setBounds((int) (width*0.2), (int) (height*0.02), 100, 100); Border border=BorderFactory.createLineBorder(Color.BLACK, 5); player.setBorder(border); music = new JButton("Choose a music"); music.setFont(new Font("Chalkboard", Font.BOLD, 30)); music.setBounds((int) (width*0.3), (int) (height*0.019), 400, 100); music.setBorder(new RoundedBorder(new Color(0,128,255,100))); music.setContentAreaFilled( false ); music.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); setCursor(customCursor); if (click_task != null) { click_task.cancel(); click_task = null; } } @Override public void mouseEntered(MouseEvent arg0) { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); click_task = new Timer(); click_task.schedule( new java.util.TimerTask() { @Override public void run() { new MusicSelectView(myAgent); } }, Constance.click_delay ); } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } }); if(!is_proprietaire()){ music.setEnabled(false); } play = new JLabel(new ImageIcon("images/play.png")); play.setBounds((int) (width*0.7), (int) (height*0.02), 100, 100); rewind=new JLabel(new ImageIcon("images/rewind.png")); rewind.setBounds((int) (width*0.62), (int) (height*0.02), 100, 100); forward=new JLabel(new ImageIcon("images/fast_forward.png")); forward.setBounds((int) (width*0.78), (int) (height*0.02), 100, 100); play.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { play.setBorder(null); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); setCursor(customCursor); if (click_task != null) { click_task.cancel(); click_task = null; } } @Override public void mouseEntered(MouseEvent arg0) { play.setBorder(new OvalBorder(play.getWidth(), play.getHeight(), new Color(153,153,255))); //play.setBorder(BorderFactory.createBorder(Color.blue)); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); click_task = new Timer(); click_task.schedule( new java.util.TimerTask() { @Override public void run() { if(!isPlay){ play.setIcon(new ImageIcon("images/pause.png")); isPlay=true; }else{ play.setIcon(new ImageIcon("images/play.png")); isPlay=false; } GuiEvent ev = new GuiEvent(this,UserAgent.CONTROL_MUSIC_EVENT); ev.addParameter(isPlay); myAgent.postGuiEvent(ev); } }, Constance.click_delay ); } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } }); forward.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { forward.setBorder(null); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); setCursor(customCursor); if (click_task != null) { click_task.cancel(); click_task = null; } } @Override public void mouseEntered(MouseEvent arg0) { forward.setBorder(new OvalBorder(forward.getWidth(), forward.getHeight(), new Color(153,153,255))); //play.setBorder(BorderFactory.createBorder(Color.blue)); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); click_task = new Timer(); click_task.schedule( new java.util.TimerTask() { @Override public void run() { GuiEvent ev = new GuiEvent(this,UserAgent.CONTROL_MUSIC_RHYTHM); ev.addParameter(Constance.Forward); myAgent.postGuiEvent(ev); } }, Constance.click_delay ); } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } }); rewind.addMouseListener(new MouseListener() { @Override public void mouseReleased(MouseEvent arg0) { } @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent arg0) { rewind.setBorder(null); Toolkit toolkit = Toolkit.getDefaultToolkit(); Image cursorImage = toolkit.getImage("images/cursor.png"); Point cursorHotSpot = new Point(0,0); Cursor customCursor = toolkit.createCustomCursor(cursorImage, cursorHotSpot, "Cursor"); setCursor(customCursor); if (click_task != null) { click_task.cancel(); click_task = null; } } @Override public void mouseEntered(MouseEvent arg0) { rewind.setBorder(new OvalBorder(rewind.getWidth(), rewind.getHeight(), new Color(153,153,255))); //play.setBorder(BorderFactory.createBorder(Color.blue)); setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); click_task = new Timer(); click_task.schedule( new java.util.TimerTask() { @Override public void run() { GuiEvent ev = new GuiEvent(this,UserAgent.CONTROL_MUSIC_RHYTHM); ev.addParameter(Constance.Rewind); myAgent.postGuiEvent(ev); } }, Constance.click_delay ); } @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub } }); volume = new JLabel(new ImageIcon("images/volume.png")); volume.setBounds((int) (width*0.9), (int) (height*0.02), 100, 100); this.add(home); this.add(player); this.add(music); this.add(play); this.add(forward); this.add(rewind); this.add(volume); } public JLabel getVolume() { return volume; } public Boolean is_proprietaire(){ return propietaire; } public void set_proprietaire(boolean b){ propietaire = b; } }