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?
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.
Disons plutôt que c'est possible de les mélanger mais que c'est M.A.L.![]()
Merci de penser au tagquand 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
je n'ai aucun probleme moi en les melangeant ou pas, l'essentiel c'est j'arrive a faire mon tp![]()
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 tagquand 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.
- 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.bouye: ca n'as rien donne de particulier, j'avais enleve le canvas et je suis trop fénéant pour refairepas top.
Merci de penser au tagquand 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.![]()
Y Sont egocentriques ces composants AWT, font tout pour que l'on voit qu'eux.Envoyé par bouye
![]()
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 tagquand 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
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:
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 panepareil setPreferredSize() sur le tabbedpane.
Merci de penser au tagquand 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.
Partager