douda0
Messages postés1Date d'inscriptionsamedi 11 décembre 2004StatutMembreDernière intervention27 avril 2010
-
27 avril 2010 à 12:48
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013
-
27 avril 2010 à 14:11
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:
====CLASSE01
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();
}
}
======FIN CLASSE01
======CLASSE02
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;