Bonjour,
Je vous explique mon problème, après avoir largement cherché sur internet j'avoue ne pas avoir trouvé de solution.
J'ai créé un graphe en utilisant Graphics2D, mon graphe est un ensemble de noeuds et d'arcs. La position d'un noeud j dépends de la position du noeud i qui le précède.
Sauf que mon graphe généré était trop grand et dépassait la taille de l'écran.
Solution : mettre un scroll bar
Après m'être documenté sur internet, j'ai décidé d'utiliser Jscrollpane.
Maintenant quand j'exécute le programme, je vois bien le scrollbar, sauf que quand je descend avec le scrollbar, ou que je vais à droite ou à gauche, mon graphe se coupe toujours au niveau de la taille de mon écran et je ne vois pas le suite !!!
J'ai pensé à quelque chose comme le rafrachissement (update...) ... , et essayé quelques solutions en vain.
J'ai SIMPLIFIE mon problème avec l'affichage d'un rectangle (car la méthode qui construit le graphe est un peu trop longue). Mon problème peut être similaire à celui décrit dans le code ci-dessous.(CLASSE01 + CLASSE02)
Ces deux classes permettent d'afficher un rectangle. Sauf que la position du rectangle dépasse la taille de l'écran et avec le scrollPane je n'arrive pas à le visualiser.
Si quelqu'un pouvait me donner même une indication sur comment procéder, ou me dire ce qui cloche..
Merci
- Masquer le texte des messages précédents -
Voici mon code:
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 public class AppletApp extends JApplet implements Runnable { public Console c; static public Graphe gpf; public void initApplication() { setLayout(new BorderLayout()); setPreferredSize(new Dimension(1500,1500)); c = new Console(); c.setSize(1500,1500); add("Center",c); } public void start() {} public void stop() {} public void run() {} public static void main(String args[]) { JFrame f = new JFrame("Exemple "); gpf=XmlClasse.go(); AppletApp app = new AppletApp(); app.initApplication(); app.start(); JScrollPane jp = new JScrollPane(app); f.setSize(200,200); f.getContentPane().add(jp); jp.setVisible(true); f.setVisible(true); f.show(); } }
Merci à tous.
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 package Interface; import java.awt.*; import javax.swing.*; public class Console extends JPanel { public int im = 0 ; static public Graphics2D g2; public void paint(Graphics g) { g2 =(Graphics2D) g; g2.draw3DRect(700,700,200,60, true); } }
Partager