IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

2D Java Discussion :

Probleme jscrollpane (scroll bar)


Sujet :

2D Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Probleme jscrollpane (scroll bar)
    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();
      }
     
     
    }

    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);
    }
    }
    Merci à tous.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2010
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    J'ai fais ça pour mon travail de diplôme, il y a un moment.
    Je te redis tout ça de tête, je ne peux donc pas t'assurer à 100% que tout ce que je te dis est juste, mais tu auras déjà l'idée.

    Ce qu'il faut faire, c'est définir la taille du viewport ton scrollpane à la taille totale de ton graphique.
    Normalement il déborde de ton panel et donc tu vois les ascenseurs.

    Ensuite tu mets des listeners sur tes ascenseurs. Quand ils bougent tu mets à jour une variables et tu repaint ton graphique en lui donnant cette variable.
    Et tu décales tout de la valeur de la variable.

Discussions similaires

  1. Probleme avec l'event scroll bar
    Par Xx_raaY dans le forum Windows Forms
    Réponses: 0
    Dernier message: 04/06/2009, 15h16
  2. Probleme de scroll bar avec IE.
    Par defacta dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 30/07/2007, 14h36
  3. Probleme avec un scroll bar
    Par pierrot10 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 31/05/2007, 15h02
  4. JScrollPane : scroll bar verticale à gauche
    Par genetechno dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 06/06/2006, 11h38
  5. probleme de scroll bar
    Par robert_trudel dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 31/05/2006, 19h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo