salut a tous,
je voudrai mettre un canvas dans un JScrollPane mais je n'y parviens pas.
mon but est de dessiner dynamiquement l'organigramme d'un code source de taille inconnue.
une idee?
salut a tous,
je voudrai mettre un canvas dans un JScrollPane mais je n'y parviens pas.
mon but est de dessiner dynamiquement l'organigramme d'un code source de taille inconnue.
une idee?
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
Ben la première idée qui me vient c'est :
canvas : AWT
JScrollPane : Swing
Donc pas bon vu que l'on ne peut pas mélanger les composants Swing et AWT.
Donc je dirais utilise un JPanel plutôt qu'un canvas et redéfinie sa méthode paintComponent pour afficher ton organigramme.
-"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
-"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".
Pieds d'argile (1996), Terry Pratchett 1948 - 2015
(trad. Patrick Couton)
Disons plutôt que c'est possible de les mélanger mais que c'est M.A.L.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
merci,
je vais tester
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
Certes!Envoyé par bouye
-"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
-"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".
Pieds d'argile (1996), Terry Pratchett 1948 - 2015
(trad. Patrick Couton)
je n'ai aucun probleme moi en les melangeant ou pas, l'essentiel c'est j'arrive a faire mon tp
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
Juste pour rigoler met une JMenuBar contenant des JMenu bien remplis (ou une JComboxBox avec une longue liste d'items) juste au dessus de ton scrollpane et ouvre un des menus (ou ouvre la liste de la combo).
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
mais je n'arrive toujours pas a avoir des scrollbar.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class MonPanel extends JPanel { public void paintComponent(Graphics g) { super.paintComponent(g); g.drawLine(0,0,1024,784); } // Pour que ca ne clignotte pas en gris quand ,ca rame : public void update (Graphics g) { paintComponent (g) ; } }bien sure.
Code : Sélectionner tout - Visualiser dans une fenêtre à part maFrame.add(new JScrollPane(panel))
bouye: ca n'as rien donne de particulier, j'avais enleve le canvas et je suis trop fénéant pour refaire.
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
- Avec JPanel pas besoin de surcharger la méthode update()
- Si tu veux que des scrollbar apparaissent il faut donner une taille (setSize(), voir également setPreferredSize()) à ton panel plus grande que la taille du viewport du scrollpane.
Dans le constructeur du panel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Dimension size = new Dimension(1024, 784); setSize(size);Tes menu même dépliés se seraient affichés SOUS ton canvas. pas top.bouye: ca n'as rien donne de particulier, j'avais enleve le canvas et je suis trop fénéant pour refaire
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
merci pour l'info.Avec JPanel pas besoin de surcharger la méthode update()
ca ne donne toujours pas de scrollbar.Si tu veux que des scrollbar apparaissent il faut donner une taille (setSize(), voir également setPreferredSize()) à ton panel plus grande que la taille du viewport du scrollpane.
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
Y Sont egocentriques ces composants AWT, font tout pour que l'on voit qu'eux.Envoyé par bouye
-"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
-"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".
Pieds d'argile (1996), Terry Pratchett 1948 - 2015
(trad. Patrick Couton)
Raté, c'était setPreferredSize()
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 package test; import java.awt.*; import javax.swing.*; /** * <p>Title: </p> * * <p>Description: </p> * * <p>Copyright: Copyright (c) 2006</p> * * <p>Company: </p> * * @author not attributable * @version 1.0 */ public class TestScroll extends JPanel { public TestScroll() { super(); setPreferredSize(new Dimension(800, 600)); } /** {@inheritDoc} */ @Override public void paintComponent(Graphics graphics) { super.paintComponent(graphics); graphics.setColor(Color.BLACK); graphics.drawLine(0, 0, 800, 600); } /** Self test main. * @param args Arguments from the command-line. */ public static void main(String ...args) { JFrame frame = new JFrame("Test"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); frame.add(new JScrollPane(new TestScroll()), BorderLayout.CENTER); frame.setSize(new Dimension(200, 200)); frame.setVisible(true); } }
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
meri bouye,
ca marche a merveille.
a+
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
en fait c'est pas tout a fait fini.
j'ai ajoute mon panel a un JtabbedPane, et la les scrollbars diparaissent.
auriez vous une idee la dessus :
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
C'est ton scroll pane que tu dois ajouter au tabbedpane. Ca ferai une GUI bizarre sinon.
Sinon si le tabbedpane est dans le scroll pane pareil setPreferredSize() sur le tabbedpane.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
oui c'est ce que j'avais fait, tres mal exprimé seulement.
mais le probleme est le suivant:
j'ajoute une JTextArea a mon tabbedPane
j'ajoute un scroolPane qui contient mon panel dans le tabbedPane
et la les scroll n'apparaissent que lorsque je redimensionne ma frame.
si j'inverse l'ordre d'ajout, tout marche bien(je fais un paintAll() de ma frame).
meme en ajoutant un ChangeListner a la tabbedPane et que je fasse un paintAll dedans, rien ne change.
qui dit Dieu n'existe pas dis que les programmes tournent sans processeur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager