koskoz They see me trollin they hatin | Salut tout le monde,
j'aimerai faire en sorte que l'utilisateur puisse placer des notes sur une partition, via la souris.
Voici pour le moment ma classe principale :
Code :
public class Editeur { static int cursorChanged = 0; // blanche = 1, noire = 2 public static void main (String[] args ) { frame = new JFrame("Editeur de Partitions Musicales" ); frame.setSize(800, 600); frame. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.setLocationRelativeTo(null); frame.setVisible(true); // Création de la toolbar toolBar.setFloatable(false); addButtons(); // Affichage de la partition DrawPartition partition = new DrawPartition(); partition. setBackground(Color. white); } static protected void addButtons() { blanche.addActionListener(new ChangeCursor()); toolBar.add(blanche); noire.addActionListener(new ChangeCursor()); toolBar.add(noire); } if (e.getActionCommand().equals("Blanche" )) { image = toolkit.getImage("src/curseur_blanche.gif" ); cursorChanged = 1; } else { image = toolkit.getImage("src/curseur_noire.gif" ); cursorChanged = 2; } Cursor cursor = toolkit. createCustomCursor( image, new Point(26, 27), "img" ); frame.setCursor(cursor); } } } /* Si une note est séléctionnée et qu'un clic droit est effectué, on revient au curseur par défaut */ if (cursorChanged != 0) { frame.setCursor(cursor); } } // Gestion du clic gauche // Si le curseur a changé, on place la note if (cursorChanged != 0) { } } } } }
|
En gros, si l'utilisateur clique sur un des deux boutons, le curseur prend l'apparence de la note sélectionné, puis si l'utilisateur fait un clique gauche et que la note est sélectionnée, on place la note sur la partition.
Le problème, c'est que je ne sais pas comment dessiner sur mon panel sur ma partition.
Bêtement, il suffit de faire un g.drawImage, mais je ne vois pas comment récupérer le contexte de la partition pour que la classe MouseListener puisse s'en servir.
Merci ---------------
Twitter
|