This commit is contained in:
EmmanuelTiamzon
2025-09-30 09:43:41 +02:00
parent f7de13bc2a
commit 7019a3b7ea
176 changed files with 9458 additions and 149 deletions

Binary file not shown.

View File

@@ -0,0 +1,13 @@
import java.awt.*;
import javax.swing.*;
public class Fenetre extends JFrame {
public Fenetre() {
this.setSize(800, 500);
this.setLocation(100, 100);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
GestionSouris clicSouris = new GestionSouris(this);
this.addMouseListener(clicSouris);
this.addMouseMotionListener(new GestionMouvementSouris(this, clicSouris));
}
}

View File

@@ -0,0 +1,24 @@
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class GestionMouvementSouris implements MouseMotionListener {
private Fenetre fenetre;
private GestionSouris clicSouris;
public GestionMouvementSouris(Fenetre fenetre, GestionSouris clicSouris) {
this.fenetre = fenetre;
this.clicSouris = clicSouris;
}
public void mouseDragged(MouseEvent e) {
System.out.println("Appuyé");
this.clicSouris.setRect(e.getX(), e.getY());
this.fenetre.repaint();
}
public void mouseMoved(MouseEvent e) {
System.out.println("Relâché");
}
}

Binary file not shown.

View File

@@ -0,0 +1,55 @@
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class GestionSouris implements MouseListener {
private Fenetre fenetre;
private JPanel rect;
private int debutX;
private int debutY;
private int finX;
private int finY;
private boolean rectActif;
public GestionSouris(Fenetre fenetre) {
this.fenetre = fenetre;
this.rectActif = false;
}
public void mouseClicked(MouseEvent evenement) {
}
public void mouseEntered(MouseEvent evenement){
}
public void mouseExited(MouseEvent evenement){
}
public void mousePressed(MouseEvent evenement){
if (this.rectActif) {
this.fenetre.remove(this.rect);
}
System.out.println("Appui simple");
this.rect = new JPanel();
this.rect.setOpaque(true);
this.rect.setBackground(Color.BLUE);
this.debutX = evenement.getX()-4; // Le -4 est du à un décalage de la méthode getX jsp pourquoi sah
this.debutY = evenement.getY()-26; // Pareil pour le -26
this.fenetre.add(this.rect);
this.fenetre.repaint();
}
public void mouseReleased(MouseEvent evenement){
this.rectActif = true;
}
public void setRect(int finX, int finY) {
System.out.println(this.debutX + " " + this.debutY + " " + (finX-this.debutX+5) + " " + (finY-this.debutY-10) + "");
this.rect.setBounds(this.debutX, this.debutY, finX-this.debutX-4, finY-this.debutY-26); // Décalage encore
//System.out.println("debut : [" + this.debutX + ", " + this.debutY + "]");
//System.out.println("fin : [" + finX + ", " + finY + "]");
this.fenetre.repaint();
}
}

Binary file not shown.

View File

@@ -0,0 +1,6 @@
public class Main {
public static void main(String[] args) {
Fenetre fenetre = new Fenetre();
fenetre.setVisible(true);
}
}

Binary file not shown.

View File

@@ -0,0 +1,29 @@
import java.awt.*;
import javax.swing.*;
public class Rect extends JComponent {
private int departX;
private int departY;
private int finX;
private int finY;
public Rect(int departX, int departY, int finX, int finY) {
this.departX = departX;
this.departY = departY;
this.finX = finX;
this.finY = finY;
}
@Override
public void paintComponent(Graphics pinceau) {
Graphics secondPinceau = pinceau.create();
if (this.isOpaque()) {
secondPinceau.setColor(this.getBackground());
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
}
secondPinceau.setColor(Color.BLUE);
secondPinceau.fillRect(this.departX, this.departY, this.finX-this.departX, this.finY-this.departY);
}
}