This commit is contained in:
2023-10-23 13:23:36 +02:00
parent 667dae6f1a
commit 322b22f9bf
5711 changed files with 72953 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionUtilisateur implements MouseListener{
/*public JLabel musique;
public ActionUtilisateur(JLabel musique){
this.musique = musique;
}*/
@Override
public void mouseClicked(MouseEvent evenement){
System.out.println("clic");
}
@Override
public void mouseEntered(MouseEvent evenement){
System.out.println("entré");
}
@Override
public void mouseExited(MouseEvent evenement){
System.out.println("sortis");
}
@Override
public void mousePressed(MouseEvent evenement){
}
@Override
public void mouseReleased(MouseEvent evenement){
}
}

View File

@@ -0,0 +1,19 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Barre{
public static void main(String[] args) {
Rond test = new Rond(10);
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
addMouseWheelMoved();
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,37 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Playlist{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER),
};
ActionUtilisateur[] musiqueObserveur = new ActionUtilisateur[listeMusique.length];
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (int i=0; i<listeMusique.length; i++){
musiqueObserveur[i] = new ActionUtilisateur(listeMusique[i]);
fenetre.add(listeMusique[i]);
listeMusique[i].addMouseListener(new MouseListener());
}
fenetre.setVisible(true);
}
}

Binary file not shown.

View File

@@ -0,0 +1,18 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Barre{
public static void main(String[] args) {
Rond test = new Rond(10);
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
test.addMouseWheelListener(test);
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,3 @@
public interface MouseWheelListener{
void mouseWheelMoved(MouseWheelEvent evenement);
}

View File

@@ -0,0 +1,3 @@
public interface MouseWheelListener{
void mouseWheelMoved(MouseWheelEvent evenement);
}

Binary file not shown.

View File

@@ -0,0 +1,44 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Rond extends JComponent implements MouseWheelListener{
public int nbRond;
public int valeur;
public double tailleRond;
public Rond(int nbRond){
this.nbRond = nbRond;
this.valeur = 0;
this.tailleRond = 0.8;
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(0,255,100));
int unite = this.getWidth() / this.nbRond;
int diametre = (int) ((double) unite * tailleRond);
int ordonnee = (getHeight()-diametre)/2;
for (int i=0; i<this.nbRond; i++){
if (this.valeur <= i){
secondPinceau.setColor(new Color(100,0,255));
}
secondPinceau.fillOval(i*unite+(unite-diametre)/2, ordonnee,diametre,diametre);
}
}
public void mouseWheelMoved(MouseWheelEvent e){
if (e.getWheelRotation() < 0) {
if (this.valeur<this.nbRond){
this.valeur++;
}
} else {
if (this.valeur>0){
this.valeur--;
}
}
}
}

View File

@@ -0,0 +1,46 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Rond extends JComponent implements MouseWheelListener{
public int nbRond;
public int valeur;
public double tailleRond;
public Rond(int nbRond){
this.nbRond = nbRond;
this.valeur = 0;
this.tailleRond = 0.8;
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(0,255,100));
int unite = this.getWidth() / this.nbRond;
int diametre = (int) ((double) unite * tailleRond);
int ordonnee = (getHeight()-diametre)/2;
for (int i=0; i<this.nbRond; i++){
if (this.valeur <= i){
secondPinceau.setColor(new Color(100,0,255));
}
secondPinceau.fillOval(i*unite+(unite-diametre)/2, ordonnee,diametre,diametre);
}
}
public void mouseWheelMoved(MouseWheelEvent e){
if (e.getWheelRotation() < 0) {
if (this.valeur<10){
this.valeur++;
repaint();
}
} else {
if (this.valeur>0){
this.valeur--;
repaint();
}
}
}
}

View File

@@ -0,0 +1,36 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Playlist{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER)
};
ActionGroupe musiqueObserveur = new ActionGroupe(listeMusique);
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (JLabel musique : listeMusique){
fenetre.add(musique);
musique.addMouseListener(musiqueObserveur);
}
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,50 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionGroupe implements MouseListener{
public JLabel[] listeMusique;
public int selection;
public ActionGroupe(JLabel[] listeMusique){
this.listeMusique = listeMusique;
this.selection = -1;
for (JLabel musique : this.listeMusique){
musique.setOpaque(true);
musique.setBackground(new Color(255,255,255));
}
}
@Override
public void mouseClicked(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
for (int i=0 ; i<this.listeMusique.length; i++){
if (musiqueSelection == this.listeMusique[i]){
musiqueSelection.setBackground(new Color(100,255,0));
this.selection = i;
}
else{
this.listeMusique[i].setBackground(new Color(255,255,255));
}
}
}
@Override
public void mouseEntered(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.selection==-1 || this.listeMusique[this.selection] != musiqueSelection){
musiqueSelection.setBackground(new Color(100,100,100));
}
}
@Override
public void mouseExited(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.selection==-1 || this.listeMusique[this.selection] != musiqueSelection){
musiqueSelection.setBackground(new Color(255,255,255));
}
}
@Override
public void mousePressed(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
}

View File

@@ -0,0 +1,50 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionGroupe implements MouseListener{
public JLabel[] listeMusique;
public int selection;
public ActionGroupe(JLabel[] listeMusique){
this.listeMusique = listeMusique;
this.selection = -1;
for (JLabel musique : this.listeMusique){
musique.setOpaque(true);
musique.setBackground(new Color(255,255,255));
}
}
@Override
public void mouseClicked(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
for (int i=0 ; i<this.listeMusique.length; i++){
if (musiqueSelection == this.listeMusique[i]){
musiqueSelection.setBackground(new Color(100,255,0));
this.selection = i;
}
else{
listeMusique[i].setBackground(new Color(255,255,255));
}
}
}
@Override
public void mouseEntered(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.selection==-1 || this.listeMusique[this.selection] != musiqueSelection){
musiqueSelection.setBackground(new Color(100,100,100));
}
}
@Override
public void mouseExited(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.selection==-1 || this.listeMusique[this.selection] != musiqueSelection){
musiqueSelection.setBackground(new Color(255,255,255));
}
}
@Override
public void mousePressed(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
}

View File

@@ -0,0 +1,39 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionIndividus implements MouseListener{
public JLabel musique;
public boolean isActived;
public ActionIndividus(JLabel musique){
this.musique = musique;
this.musique.setOpaque(true);
this.musique.setBackground(new Color(255,255,255));
}
@Override
public void mouseClicked(MouseEvent evenement){
this.musique.setBackground(new Color(100,255,0));
this.isActived = true;
}
@Override
public void mouseEntered(MouseEvent evenement){
if (this.isActived == false){
this.musique.setBackground(new Color(100,100,100));
}
}
@Override
public void mouseExited(MouseEvent evenement){
if (this.isActived == false){
this.musique.setBackground(new Color(255,255,255));
}
}
@Override
public void mousePressed(MouseEvent evenement){
}
@Override
public void mouseReleased(MouseEvent evenement){
}
}

View File

@@ -0,0 +1,38 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionUtilisateur implements MouseListener{
public JLabel musique;
public int identifiant;
public static int selection = -1;
public ActionUtilisateur(JLabel musique, int identifiant){
this.musique = musique;
this.musique.setOpaque(true);
this.musique.setBackground(new Color(255,255,255));
this.identifiant = identifiant;
}
@Override
public void mouseClicked(MouseEvent evenement){
System.out.println("clic");
}
@Override
public void mouseEntered(MouseEvent evenement){
this.musique.setBackground(new Color(100,100,100));
}
@Override
public void mouseExited(MouseEvent evenement){
this.musique.setBackground(new Color(255,255,255));
}
@Override
public void mousePressed(MouseEvent evenement){
System.out.println("pressé");
}
@Override
public void mouseReleased(MouseEvent evenement){
System.out.println("relaché");
}
}

Binary file not shown.

View File

@@ -0,0 +1,36 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Playlist{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER)
};
ActionGroupe musiqueObserveur = new ActionGroupe(listeMusique);
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (JLabel musique : listeMusique){
fenetre.add(musique);
musique.addMouseListener(musiqueObserveur);
}
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,36 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Playlist{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER),
};
ActionGroupe musiqueObserveur = new ActionGroupe(listeMusique);
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (JLabel musique : listeMusique){
fenetre.add(musique);
musique.addMouseListener(musiqueObserveur);
}
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,14 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Action implements MouseListener{
@Override
public void mousePressed(MouseEvent e){
System.out.println("mouseDragged");
}
@Override
public void mouseReleased(MouseEvent e){
System.out.println("mouseReleased");
}
}

Binary file not shown.

View File

@@ -0,0 +1,19 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Barre{
public static void main(String[] args) {
Rectangle test = new Rectangle();
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
test.addMouseListener(test);
test.addMouseMotionListener(test);
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,18 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Barre{
public static void main(String[] args) {
Rectangle test = new Rectangle();
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
test.addMouseListener(new Action());
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,4 @@
public interface MouseListener{
void mousePressed(MouseEvent evenement);
void mouseReleased(MouseEvent evenement);
}

View File

@@ -0,0 +1,4 @@
public interface MouseMotionListener{
void mouseDragged(MouseWheelEvent evenement);
void mouseMoved(MouseWheelEvent evenement);
}

View File

@@ -0,0 +1,3 @@
public interface MouseWheelMoved{
void mouseWheelMoved(MouseWheelEvent evenement);
}

View File

@@ -0,0 +1,81 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Rectangle extends JComponent implements MouseMotionListener,MouseListener{
int xOrigine;
int yOrigine;
int yFinal;
int xFinal;
int longueurFenetre;
int hauteurFenetre;
public Rectangle(){
this.xOrigine = -1;
this.yOrigine = -1;
this.xFinal = -1;
this.yFinal = -1;
this.longueurFenetre = this.getWidth();
this.hauteurFenetre = this.getHeight();
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(0,255,100));
if (this.xOrigine >= 0 && this.yOrigine >= 0){
int newXOrigine;
int newYOrigine;
int newLongueur;
int newHauteur;
if (xFinal >= xOrigine){
newXOrigine = this.getWidth()*this.xOrigine/this.longueurFenetre;
newLongueur = this.getWidth()*(this.xFinal-this.xOrigine)/this.longueurFenetre;
}
else{
newXOrigine = this.getWidth()*this.xFinal/this.longueurFenetre;
newLongueur = this.getWidth()*(this.xOrigine-this.xFinal)/this.longueurFenetre;
}
if (yFinal >= yOrigine){
newYOrigine = this.getHeight()*this.yOrigine/this.hauteurFenetre;
newHauteur = this.getHeight()*(this.yFinal-this.yOrigine)/this.hauteurFenetre;
}
else{
newYOrigine = this.getHeight()*this.yFinal/this.hauteurFenetre;
newHauteur = this.getHeight()*(this.yOrigine-this.yFinal)/this.hauteurFenetre;
}
secondPinceau.fillRect(newXOrigine,newYOrigine,newLongueur,newHauteur);
}
}
@Override
public void mouseDragged(MouseEvent e){
this.xFinal = e.getX();
this.yFinal = e.getY();
repaint();
}
@Override
public void mousePressed(MouseEvent e){
this.longueurFenetre = this.getWidth();
this.hauteurFenetre = this.getHeight();
this.xOrigine = e.getX();
this.yOrigine = e.getY();
}
@Override
public void mouseMoved(MouseEvent e){
}
@Override
public void mouseClicked(MouseEvent e){
}
@Override
public void mouseEntered(MouseEvent e){
}
@Override
public void mouseExited(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
}

View File

@@ -0,0 +1,36 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Rectangle extends JComponent{
int xOrigine;
int yOrigine;
int yDestination;
int xDestination;
int longueurFenetre;
int hauteurFenetre;
public Rectangle(){
this.xOrigine = -1;
this.yOrigine = -1;
this.xDestination = -1;
this.yDestination = -1;
this.longueurFenetre = this.getWidth();
this.hauteurFenetre = this.getHeight();
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(0,255,100));
if (this.xOrigine >= 0 && this.yOrigine >= 0){
int newXOrigine = this.getWidth()*this.xOrigine/this.longueurFenetre;
int newYOrigine = this.getHeight()*this.yOrigine/this.hauteurFenetre;
int newLongueur = this.getWidth()*(this.xDestination-this.xOrigine)/this.longueurFenetre;
int newHauteur = this.getHeight()*(this.yDestination-this.yOrigine)/this.hauteurFenetre;
secondPinceau.fillRect(newXOrigine,newXOrigine,newLongueur,newHauteur);
}
}
}

View File

@@ -0,0 +1,46 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Rond extends JComponent implements MouseWheelListener{
public int nbRond;
public int valeur;
public double tailleRond;
public Rond(int nbRond){
this.nbRond = nbRond;
this.valeur = 0;
this.tailleRond = 0.8;
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(0,255,100));
int unite = this.getWidth() / this.nbRond;
int diametre = (int) ((double) unite * tailleRond);
int ordonnee = (getHeight()-diametre)/2;
for (int i=0; i<this.nbRond; i++){
if (this.valeur <= i){
secondPinceau.setColor(new Color(100,0,255));
}
secondPinceau.fillOval(i*unite+(unite-diametre)/2, ordonnee,diametre,diametre);
}
}
public void mouseWheelMoved(MouseWheelEvent e){
if (e.getWheelRotation() < 0) {
if (this.valeur<10){
this.valeur++;
repaint();
}
} else {
if (this.valeur>0){
this.valeur--;
repaint();
}
}
}
}

View File

@@ -0,0 +1,99 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionGroupe implements MouseListener,KeyListener{
public JLabel[] listeMusique;
public boolean[] selection;
public boolean isCtrlPressed;
public ActionGroupe(JLabel[] listeMusique){
this.listeMusique = listeMusique;
this.selection = new boolean[this.listeMusique.length];
this.isCtrlPressed = false;
this.selectionFalse();
for (JLabel musique : this.listeMusique){
musique.setOpaque(true);
}
}
private void selectionFalse(){
for (int i=0; i<this.selection.length; i++){
this.selection[i] = false;
this.listeMusique[i].setBackground(new Color(255,255,255));
}
}
private boolean isSelected(JLabel musique){
for (int i=0; i<listeMusique.length; i++){
if (this.listeMusique[i] == musique){
if (selection[i] == true){
return true;
}
return false;
}
}
return false;
}
private int indiceMusique(JLabel musique){
for (int i=0; i<listeMusique.length; i++){
if (this.listeMusique[i] == musique){
return i;
}
}
return -1;
}
@Override
public void mouseClicked(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
int indiceMusiqueSelection = this.indiceMusique(musiqueSelection);
if (this.isCtrlPressed==false){
this.selectionFalse();
System.out.println(this.selection);
}
this.selection[indiceMusiqueSelection] = true;
musiqueSelection.setBackground(new Color(100,255,0));
}
@Override
public void mouseEntered(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.isSelected(musiqueSelection)==false){
musiqueSelection.setBackground(new Color(100,100,100));
}
}
@Override
public void mouseExited(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.isSelected(musiqueSelection)==false){
musiqueSelection.setBackground(new Color(255,255,255));
}
}
@Override
public void mousePressed(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = false;
}
}
}

View File

@@ -0,0 +1,99 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ActionGroupe implements MouseListener,KeyListener{
public JLabel[] listeMusique;
public boolean[] selection;
public boolean isCtrlPressed;
public ActionGroupe(JLabel[] listeMusique){
this.listeMusique = listeMusique;
this.selection = new boolean[this.listeMusique.length];
this.isCtrlPressed = false;
this.selectionFalse();
for (JLabel musique : this.listeMusique){
musique.setOpaque(true);
}
}
private void selectionFalse(){
for (int i=0; i<this.selection; i++){
this.selection[i] = false;
this.listeMusique[i].setBackground(new Color(255,255,255));
}
}
private boolean isSelected(JLabel musique){
for (int i=0; i<listeMusique.length; i++){
if (this.listeMusique[i] == musique){
if (selection[i] == true){
return true;
}
return false;
}
}
return false;
}
private int indiceMusique(JLabel musique){
for (int i=0; i<listeMusique.length; i++){
if (this.listeMusique[i] == musique){
return i;
}
}
return -1;
}
@Override
public void mouseClicked(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
int indiceMusiqueSelection = this.indiceMusique(musiqueSelection);
if (this.isCtrlPressed==false){
this.selectionFalse();
System.out.println(this.selection);
}
this.selection[indiceMusiqueSelection] = true;
musiqueSelection.setBackground(new Color(100,255,0));
}
@Override
public void mouseEntered(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.isSelected(musiqueSelection)==false){
musiqueSelection.setBackground(new Color(100,100,100));
}
}
@Override
public void mouseExited(MouseEvent e){
JLabel musiqueSelection = (JLabel) e.getComponent();
if (this.isSelected(musiqueSelection)==false){
musiqueSelection.setBackground(new Color(255,255,255));
}
}
@Override
public void mousePressed(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = false;
}
}
}

View File

@@ -0,0 +1,36 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Playlist{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER),
};
ActionGroupe musiqueObserveur = new ActionGroupe(listeMusique);
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (JLabel musique : listeMusique){
fenetre.add(musique);
musique.addMouseListener(musiqueObserveur);
}
fenetre.setVisible(true);
}
}

Binary file not shown.

View File

@@ -0,0 +1,37 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Q4Main{
public static void main(String args[]){
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel[] listeMusique = {
new JLabel("Speak To Me / Breathe",JLabel.CENTER),
new JLabel("On The Run",JLabel.CENTER),
new JLabel("Time",JLabel.CENTER),
new JLabel("The Great Gig In The Sky",JLabel.CENTER),
new JLabel("Money",JLabel.CENTER),
new JLabel("Us And Them",JLabel.CENTER),
new JLabel("Any Colour You Like",JLabel.CENTER),
new JLabel("Brain Damage",JLabel.CENTER),
new JLabel("Eclipse",JLabel.CENTER),
};
ActionGroupe musiqueObserveur = new ActionGroupe(listeMusique);
GridLayout playlistGrid = new GridLayout(listeMusique.length, 1);
fenetre.setLayout(playlistGrid);
for (JLabel musique : listeMusique){
fenetre.add(musique);
musique.addMouseListener(musiqueObserveur);
}
fenetre.addKeyListener(musiqueObserveur);
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,20 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Q4Main{
public static void main(String[] args) {
Rectangle test = new Rectangle();
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
test.addMouseListener(test);
test.addMouseMotionListener(test);
fenetre.addKeyListener(test);
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,20 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Q4Main{
public static void main(String[] args) {
Rectangle test = new Rectangle();
JFrame fenetre = new JFrame();
fenetre.setSize(800, 800);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(test);
test.addMouseListener(test);
test.addMouseMotionListener(test);
test.addKeyListener(test);
fenetre.setVisible(true);
}
}

View File

@@ -0,0 +1,118 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.List;
public class Rectangle extends JComponent implements MouseMotionListener, MouseListener, KeyListener{
private List<Integer> xOrigine;
private List<Integer> yOrigine;
private List<Integer> yFinal;
private List<Integer> xFinal;
private List<Integer> longueurFenetre;
private List<Integer> hauteurFenetre;
boolean isCtrlPressed;
public Rectangle(){
this.xOrigine = new ArrayList<Integer>();
this.yOrigine = new ArrayList<Integer>();
this.xFinal = new ArrayList<Integer>();
this.yFinal = new ArrayList<Integer>();
this.longueurFenetre = new ArrayList<Integer>();
this.hauteurFenetre = new ArrayList<Integer>();
this.isCtrlPressed = false;
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
if (this.isOpaque()){
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
secondPinceau.setColor(new Color(0,255,100));
for (int i=0; i<this.xOrigine.size(); i++){
if (this.xOrigine(i) >= 0 && this.yOrigine(i) >= 0){
int newXOrigine;
int newYOrigine;
int newLongueur;
int newHauteur;
if (this.xFinal(i) >= this.xOrigine(i)){
newXOrigine = this.getWidth()*this.xOrigine(i)/this.longueurFenetre(i);
newLongueur = this.getWidth()*(this.xFinal(i)-this.xOrigine(i))/this.longueurFenetre(i);
}
else{
newXOrigine = this.getWidth()*this.xFinal(i)/this.longueurFenetre(i);
newLongueur = this.getWidth()*(this.xOrigine(i)-this.xFinal(i))/this.longueurFenetre(i);
}
if (this.yFinal(i) >= this.yOrigine(i)){
newYOrigine = this.getHeight()*this.yOrigine(i)/this.hauteurFenetre(i);
newHauteur = this.getHeight()*(this.yFinal(i)-this.yOrigine(i))/this.hauteurFenetre(i);
}
else{
newYOrigine = this.getHeight()*this.yFinal(i)/this.hauteurFenetre(i);
newHauteur = this.getHeight()*(this.yOrigine(i)-this.yFinal(i))/this.hauteurFenetre(i);
}
secondPinceau.fillRect(newXOrigine,newYOrigine,newLongueur,newHauteur);
}
}
}
@Override
public void mouseDragged(MouseEvent e){
this.xFinal(xFinal.Count) = e.getX();
this.yFinal(yFinal.Count) = e.getY();
repaint();
}
@Override
public void mousePressed(MouseEvent e){
if (this.isCtrlPressed == false){
this.longueurFenetre.clear();
this.hauteurFenetre.clear();
this.xOrigine.clear();
this.yOrigine.clear();
this.xFinal.clear();
this.yFinal.clear();
}
this.longueurFenetre.add(this.getWidth());
this.hauteurFenetre.add(this.getHeight());
this.xOrigine.add(e.getX());
this.yOrigine.add(e.getY());
this.xFinal.add(e.getX());
this.yFinal.add(e.getY());
repaint();
}
@Override
public void mouseMoved(MouseEvent e){
}
@Override
public void mouseClicked(MouseEvent e){
}
@Override
public void mouseEntered(MouseEvent e){
}
@Override
public void mouseExited(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = false;
}
}
}

View File

@@ -0,0 +1,118 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.List;
public class Rectangle extends JComponent implements MouseMotionListener, MouseListener, KeyListener{
private List<Integer> xOrigine;
private List<Integer> yOrigine;
private List<Integer> yFinal;
private List<Integer> xFinal;
private List<Integer> longueurFenetre;
private List<Integer> hauteurFenetre;
boolean isCtrlPressed;
public Rectangle(){
this.xOrigine = new ArrayList<Integer>();
this.yOrigine = new ArrayList<Integer>();
this.xFinal = new ArrayList<Integer>();
this.yFinal = new ArrayList<Integer>();
this.longueurFenetre = new ArrayList<Integer>();
this.hauteurFenetre = new ArrayList<Integer>();
this.isCtrlPressed = false;
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
if (this.isOpaque()){
secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
secondPinceau.setColor(new Color(0,255,100));
for (int i=0; i<this.xOrigine.size(); i++){
if (this.xOrigine(i) >= 0 && this.yOrigine(i) >= 0){
int newXOrigine;
int newYOrigine;
int newLongueur;
int newHauteur;
if (this.xFinal(i) >= this.xOrigine(i)){
newXOrigine = this.getWidth()*this.xOrigine(i)/this.longueurFenetre(i);
newLongueur = this.getWidth()*(this.xFinal(i)-this.xOrigine(i))/this.longueurFenetre(i);
}
else{
newXOrigine = this.getWidth()*this.xFinal(i)/this.longueurFenetre(i);
newLongueur = this.getWidth()*(this.xOrigine(i)-this.xFinal(i))/this.longueurFenetre(i);
}
if (this.yFinal(i) >= this.yOrigine(i)){
newYOrigine = this.getHeight()*this.yOrigine(i)/this.hauteurFenetre(i);
newHauteur = this.getHeight()*(this.yFinal(i)-this.yOrigine(i))/this.hauteurFenetre(i);
}
else{
newYOrigine = this.getHeight()*this.yFinal(i)/this.hauteurFenetre(i);
newHauteur = this.getHeight()*(this.yOrigine(i)-this.yFinal(i))/this.hauteurFenetre(i);
}
secondPinceau.fillRect(newXOrigine,newYOrigine,newLongueur,newHauteur);
}
}
}
@Override
public void mouseDragged(MouseEvent e){
this.xFinal[xFinal.Count] = e.getX();
this.yFinal[yFinal.Count] = e.getY();
repaint();
}
@Override
public void mousePressed(MouseEvent e){
if (this.isCtrlPressed == false){
this.longueurFenetre.clear();
this.hauteurFenetre.clear();
this.xOrigine.clear();
this.yOrigine.clear();
this.xFinal.clear();
this.yFinal.clear();
}
this.longueurFenetre.add(this.getWidth());
this.hauteurFenetre.add(this.getHeight());
this.xOrigine.add(e.getX());
this.yOrigine.add(e.getY());
this.xFinal.add(e.getX());
this.yFinal.add(e.getY());
repaint();
}
@Override
public void mouseMoved(MouseEvent e){
}
@Override
public void mouseClicked(MouseEvent e){
}
@Override
public void mouseEntered(MouseEvent e){
}
@Override
public void mouseExited(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
}
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyPressed(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = true;
}
}
@Override
public void keyReleased(KeyEvent e) {
int touche = e.getKeyCode();
if (touche == 17){
this.isCtrlPressed = false;
}
}
}

Binary file not shown.

View File

@@ -0,0 +1,74 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Icon extends JComponent implements MouseMotionListener,MouseListener{
int xSouris;
int ySouris;
int xDistanceSourisIcon;
int yDistanceSourisIcon;
int xIcon;
int yIcon;
int xSizeIcon;
int ySizeIcon;
boolean isMoved;
Image icon;
Image fond;
public Icon(String cheminFond, String cheminIcon){
this.xSouris = -1;
this.ySouris = -1;
this.xIcon = 100;
this.yIcon = 100;
this.xDistanceSourisIcon = -1;
this.yDistanceSourisIcon = -1;
this.xSizeIcon = 29;
this.ySizeIcon = 28;
this.isMoved = false;
this.icon = Toolkit.getDefaultToolkit().getImage(cheminIcon);
this.fond = Toolkit.getDefaultToolkit().getImage(cheminFond);
}
@Override
protected void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
secondPinceau.drawImage(this.fond, 0, 0, this);
secondPinceau.drawImage(this.icon, this.xIcon, this.yIcon, this);
}
@Override
public void mouseDragged(MouseEvent e){
if (this.isMoved == true){
this.xSouris = e.getX();
this.ySouris = e.getY();
this.xIcon = this.xSouris - this.xDistanceSourisIcon;
this.yIcon = this.ySouris - this.yDistanceSourisIcon;
repaint();
}
}
@Override
public void mousePressed(MouseEvent e){
this.xSouris = e.getX();
this.ySouris = e.getY();
this.xDistanceSourisIcon = this.xSouris - this.xIcon;
this.yDistanceSourisIcon = this.ySouris - this.yIcon;
if (xDistanceSourisIcon >= 0 && xDistanceSourisIcon < this.xSizeIcon && yDistanceSourisIcon >= 0 && yDistanceSourisIcon < this.ySizeIcon){
this.isMoved = true;
}
}
@Override
public void mouseMoved(MouseEvent e){
}
@Override
public void mouseClicked(MouseEvent e){
}
@Override
public void mouseEntered(MouseEvent e){
}
@Override
public void mouseExited(MouseEvent e){
}
@Override
public void mouseReleased(MouseEvent e){
this.isMoved = false;
}
}

Binary file not shown.

View File

@@ -0,0 +1,19 @@
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Q5Main{
public static void main(String[] args) {
Icon balle = new Icon("terre.jpg","balle.png");
JFrame fenetre = new JFrame();
fenetre.setSize(404, 624);
fenetre.setLocation(100, 100);
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.add(balle);
balle.addMouseListener(balle);
balle.addMouseMotionListener(balle);
fenetre.setVisible(true);
}
}

Some files were not shown because too many files have changed in this diff Show More