import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GestionMoletteSouris implements MouseWheelListener {

	private Composant composant;
	private Color[] tabCouleurs                                                                                                                      ;
	private String[] tabNomsCouleurs;
	private int positionTabCouleurs1;
	private int positionTabCouleurs2;

	public GestionMoletteSouris(Composant composant, Color[] tabCouleurs, String[] tabNomsCouleurs) {
		this.composant = composant;
		this.tabCouleurs = tabCouleurs;
		this.tabNomsCouleurs = tabNomsCouleurs;
		this.positionTabCouleurs1 = 64;
		this.positionTabCouleurs2 = 16;
	}

	public void mouseWheelMoved(MouseWheelEvent evenement) {
		int posX = evenement.getX();
		int posY = evenement.getY();
		if (posX < posY) {
			if (evenement.getWheelRotation() < 0) {
				this.positionTabCouleurs1++;
				this.positionTabCouleurs1 = this.positionTabCouleurs1 % this.tabCouleurs.length;
				this.composant.setCouleur1(this.tabCouleurs[this.positionTabCouleurs1]);
				this.composant.setNomCouleur1(this.tabNomsCouleurs[this.positionTabCouleurs1]);
			}
			else {
				this.positionTabCouleurs1--;
				this.positionTabCouleurs1 = this.positionTabCouleurs1 % this.tabCouleurs.length;
				this.composant.setCouleur1(this.tabCouleurs[this.positionTabCouleurs1]);
				this.composant.setNomCouleur1(this.tabNomsCouleurs[this.positionTabCouleurs1]);
			}
		} 
		else {
			if (evenement.getWheelRotation() < 0) {
				this.positionTabCouleurs2++;
				this.positionTabCouleurs2 = this.positionTabCouleurs2 % this.tabCouleurs.length;
				this.composant.setCouleur2(this.tabCouleurs[this.positionTabCouleurs2]);
				this.composant.setNomCouleur2(this.tabNomsCouleurs[this.positionTabCouleurs2]);
			}
			else {
				this.positionTabCouleurs2--;
				this.positionTabCouleurs2 = this.positionTabCouleurs2 % this.tabCouleurs.length;
				this.composant.setCouleur2(this.tabCouleurs[this.positionTabCouleurs2]);
				this.composant.setNomCouleur2(this.tabNomsCouleurs[this.positionTabCouleurs2]);
			}
		}
		System.out.println(positionTabCouleurs1 + " / " + positionTabCouleurs2);
		this.composant.repaint();
	}
}