Bonsoir,
J'aimerai faire un graphique 2D avec 2 axes (X,Y) et des cases de même taille.
Il faut que ce graphique puissent être zoomable comme dé-zoomable à l'aide de la molette de la souris et que le zoom soit centré au mieux sur l'endroit où pointe la souris, au pire sur le centre du graphique (c'est a dire l'intersection des axes X et Y).
Le but est de pouvoir placer des composants dans les cases (un par case) et de leur donner une position qui sera par conséquent relative au axes.

Pour l'instant, j'ai un peu bosser sur le quadrillage et le zoom/dezoom mais il ne m'a pas fallut longtemps pour me rendre compte que je n'avais pas du tout la bonne structure je pense.
Voila ce que j'ai écris pour l'instant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
@Override
	public void paintComponent(Graphics g){
		super.paintComponent(g);
		int x = 0;
		int y = 0;
 
		g.setColor(Color.BLACK);
 
		while ( x < this.getSize().width ){
			g.drawLine(x, 0, x, this.getSize().height);
			x += tcase;
		}
 
		while ( y < this.getSize().height ){
			g.drawLine(0, y, this.getSize().width, y);
			y += tcase;
		}
	}
sachant que je ne gère toujours pas le placement des composants et que le zoom se fait sur le coin supérieur gauche de la fenêtre.

Du coups je me demandais quelle structure serait la plus adapté ?

Merci d'avance