Bonjour a tous.
Alors mon problème va vous paraître tordu. Je vous explique je souhaiterait ajouter un composant que j'ai moi même créer. Pour le moment rien de très compliquer seulement je voudrais que lorsque je clique dessus un cadre rouge l'entoure.
Peut être cas la lecture du code vous y vérrer plus clair :
class fenetre :class jcanvas :
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 import java.awt.Dimension; import javax.swing.JFrame; import javax.swing.JPanel; public class fenetre extends JFrame{ static final long serialVersionUID = 1l ; JPanel panneauPrincipal = new JPanel() ; jCanvas jCanvas = new jCanvas() ; evenement evenement = new evenement() ; public fenetre() { jCanvas.setPreferredSize(new Dimension(200,200)) ; jCanvas.addMouseListener(evenement); panneauPrincipal.add(jCanvas) ; setContentPane(panneauPrincipal) ; setTitle("test Graphics") ; setSize(400,400) ; setVisible(true) ; setDefaultCloseOperation(EXIT_ON_CLOSE) ; } public static void main(String[] args) { new fenetre() ; } }class evenement :
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 import java.awt.Graphics; import javax.swing.JPanel; public class jCanvas extends JPanel{ final static long serialVersionUID = 1l ; public void paint(Graphics g) { super.paint(g); g.drawString("Clique ici pour m'encadrer", 100, 100) ; } public void encadrer(Graphics g){ super.paint(g); g.drawRect(0, 0, 190, 190) ; } }erreur :
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 import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class evenement implements MouseListener{ @Override public void mouseClicked(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { // TODO Auto-generated method stub } @Override public void mouseExited(MouseEvent e) { // TODO Auto-generated method stub } public void mousePressed(MouseEvent e) { System.out.println("Lol sa marche") ; jCanvas canvas = new jCanvas() ; canvas.encadrer(canvas.getGraphics()) ; } @Override public void mouseReleased(MouseEvent e) { // TODO Auto-generated method stub } }Quelqu'un pourrait t'il m'aider a y voir plus clair merci d'avance.
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 Lol sa marche Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at jCanvas.encadrer(jCanvas.java:17) at evenement.mousePressed(evenement.java:24) at java.awt.Component.processMouseEvent(Unknown Source) at javax.swing.JComponent.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
Partager