Bonjour, je suis actuellement sur mon projet de BTS, qui consiste a faire un "pseudo-GPS" en java.

Cependant, je n'arrive pas a faire en sorte de tracer une droite dans un Jpanel défini a l'activation d'un toggle button. Voici un screen du programme actuel : http://data.imagup.com/11/1174633537.jpg

Et voici a quoi ressemble mon programme :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 
public class GPSPanel extends JPanel {
  Color color;
  Image image = null;
 
  public GPSPanel() {
    this(Color.black);
  }
 
  public GPSPanel(Color color) {
    this.color = color;
  }
 
  public void paintComponent(Graphics g) {
    super.paintComponent(g) ; 
    int width = getWidth();
    int height = getHeight();
    g.setColor(color);
    g.fillRect(0, 0, width-1, height-1);
 
    // ******** Affiche l'image de la Carte GPS ********** //
    image = getToolkit().getImage("paris.jpg");
    Graphics2D g2d = (Graphics2D) g;
    g2d.translate(this.getWidth() / 2, this.getHeight() / 2); //Permet de centrer la carte
    g2d.translate(-image.getWidth(null) / 2, -image.getHeight(null) / 2); //Permet de centrer la carte
    if(image != null) // Si l'image existe, ...
    g2d.drawImage(image, 0, 0, this);
 
    // ******** Tracé de la trajectoire sur la Carte GPS ********** //
    BasicStroke bs1 = new BasicStroke(3);
    g2d.setStroke(bs1);
    //g.drawLine(50, 50, 100, 100);
  }
 
  public static void main(String args[]) {
    JFrame frame = new JFrame("Jacquard Positioning System");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLayout(new GridLayout(1, 2)); //Defini l'agencement des blocs. (ligne, colonnes)
    Color colors[] = { Color.BLACK, Color.RED, Color.BLUE};
 
    //******************** Carte GPS *************************//
      GPSPanel panel = new GPSPanel(colors[0]);
      frame.add(panel);
 
    //******************** Selection trajectoire *************************//
      JPanel panel2 = new JPanel();
      JToggleButton trace = new JToggleButton("Activer le tracé");
      trace.addActionListener(
 
      // on crée une classe anonyme implémentant ActionListener
      new ActionListener() { 
        public void actionPerformed(ActionEvent e) {
		// Ici, on active le tracé de la trajectoire 
        }
      }
      );  
      panel2.add(trace);
      frame.add(panel2);
 
 
    frame.setSize(1245, 650);
    frame.setVisible(true);
  }
}
Je suis pas encore super a l'aise en java, toute aide/documentation serait la bienvenue.

Merci.