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

AWT/Swing Java Discussion :

Espace client et JScrollPane


Sujet :

AWT/Swing Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut Espace client et JScrollPane
    Bonsoir,

    J’ai un projet pour lequel je dois gérer un espace client (JPanel) dont la taille est supérieur à celle de l’écran utilisateur. Je me suis dis pas de problème, un JScrollPane doit pouvoir m’être utile. Après quelques tentatives j’obtiens un résultat insatisfaisant dont je vous fait part.
    En effet je taille mon JPanel à 2000 sur 2000 mais lorsque je l’associe au JscrollPane la barre de défilement horizontal n’apparaît pas. Pourquoi ? je ne sais pas !
    Auriez vous une idée s’il vous plait ?
    Voici le code et merci par avance pour votre aide.

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
     
     
    /**
     *
     * @author Stéphane D.
     */
    public class MCD4 extends JPanel{
     
     
    /*---------------------------------------*/
    /*- c r e a t e A n d S h o w G U I ( ) -*/
    /*---------------------------------------*/
        private static void createAndShowGUI() {
            JFrame frame = new JFrame("MCD4");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            //Dimesion de la frame.
            Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
     
            //Create and set up the content pane.
            JComponent newContentPane = new MCD4();
            newContentPane.setOpaque(true);
            frame.setContentPane(newContentPane);
     
            //Ajoute l'espace client
            MCD4JPanel jpnl1 = new MCD4JPanel();
            jpnl1.setBorder(new LineBorder(Color.red));
            jpnl1.setBackground(Color.black);
            jpnl1.setPreferredSize(new Dimension(2000, 2000));
     
            //Associe l'espace client avec le JScrollPane.
            JScrollPane jscrlp = new JScrollPane(jpnl1);
            jscrlp.setAutoscrolls(true);
            jscrlp.setPreferredSize(new Dimension(screen.width, screen.height));
     
            newContentPane.add(jscrlp);
     
            frame.pack();
            frame.setVisible(true);
        }
     
    /*---------------------*/
    /*- M a i n ( . . . ) -*/
    /*---------------------*/
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
     
    }
     
    /*-----------------------------------*/
    /*- C l a s s   M C D 4 J P a n e l -*/
    /*-----------------------------------*/
     class MCD4JPanel extends JPanel {
     
        @Override
         public void paintComponent(Graphics g) {
            //Pour que JPanel soit paint de la couleur définit 
            //par la méthode setBackground(...).
            super.paintComponent(g);
     
            //g2d servira à dessiner la graduation.
            Graphics2D g2d = (Graphics2D) g;
            Dimension d = getSize();
     
            // Graduation Vertical.
            for(int i=0; i<d.getHeight(); i++) {
                if( ((i+1) % 100) == 0) { //Ecrire rn rouge les centaines.
                    g2d.setColor(Color.red);
                    g2d.drawLine(20, i, 60, i);
                    g2d.drawString(""+(i+1), 80, i);
     
                }
                else if( ((i+1) % 50) == 0) { //Ecrire en bleu les ciquantaines.
                    g2d.setColor(Color.white);
                    g2d.drawLine(20, i, 30, i);
                    g2d.drawString(""+(i+1), 50, i);
                }
            }
     
     
            // Graduation horizontal.
            // pas de graduation puisqu'il n'y a pas d'ascensseur horizontal
            // qui apparait. why?
            g2d.setColor(Color.orange);
            g2d.drawString("d.getWidth : " + d.getWidth(), 400, 400);
         }
    }

  2. #2
    Membre averti Avatar de biozaxx
    Profil pro
    Inscrit en
    Août 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 403
    Points : 375
    Points
    375
    Par défaut
    salut,

    ton probleme c'est d'avoir defini comme contentPane le MCD4
    Aucun interet (avec le code que tu as montré)
    par contre si tu definis comme contentPane le jscrollpane, tout fonctionne

    j'ai modifié ton code pour faire ces changements a priori ca fonctionne

    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
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
     
     
    /**
     *
     * @author Stéphane D.
     */
    public class MCD4 extends JPanel{
     
     
    /*---------------------------------------*/
    /*- c r e a t e A n d S h o w G U I ( ) -*/
    /*---------------------------------------*/
        private static void createAndShowGUI() {
            JFrame frame = new JFrame("MCD4");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
            //Dimesion de la frame.
            Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
     
            //Create and set up the content pane.
    //        JComponent newContentPane = new MCD4();
    //        newContentPane.setOpaque(true);
    //        frame.setContentPane(newContentPane);
     
            //Ajoute l'espace client
            MCD4JPanel jpnl1 = new MCD4JPanel();
            jpnl1.setBorder(new LineBorder(Color.red));
            jpnl1.setBackground(Color.black);
            jpnl1.setPreferredSize(new Dimension(2000, 2000));
     
            //Associe l'espace client avec le JScrollPane.
            JScrollPane jscrlp = new JScrollPane(jpnl1);
            jscrlp.setAutoscrolls(true);
            jscrlp.setPreferredSize(new Dimension(screen.width, screen.height));
            jscrlp.getViewport().setPreferredSize(new Dimension(screen.width, screen.height));
            //newContentPane.add(jscrlp);
     
            frame.setContentPane(jscrlp);
     
            frame.pack();
            frame.setVisible(true);
        }
     
    /*---------------------*/
    /*- M a i n ( . . . ) -*/
    /*---------------------*/
        public static void main(String[] args) {
            //Schedule a job for the event-dispatching thread:
            //creating and showing this application's GUI.
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    createAndShowGUI();
                }
            });
        }
     
    }
     
    /*-----------------------------------*/
    /*- C l a s s   M C D 4 J P a n e l -*/
    /*-----------------------------------*/
     class MCD4JPanel extends JPanel {
     
     
         public void paintComponent(Graphics g) {
            //Pour que JPanel soit paint de la couleur définit 
            //par la méthode setBackground(...).
            super.paintComponent(g);
     
            //g2d servira à dessiner la graduation.
            Graphics2D g2d = (Graphics2D) g;
            Dimension d = getSize();
     
            // Graduation Vertical.
            for(int i=0; i<d.getHeight(); i++) {
                if( ((i+1) % 100) == 0) { //Ecrire rn rouge les centaines.
                    g2d.setColor(Color.red);
                    g2d.drawLine(20, i, 60, i);
                    g2d.drawString(""+(i+1), 80, i);
     
                }
                else if( ((i+1) % 50) == 0) { //Ecrire en bleu les ciquantaines.
                    g2d.setColor(Color.white);
                    g2d.drawLine(20, i, 30, i);
                    g2d.drawString(""+(i+1), 50, i);
                }
            }
     
     
            // Graduation horizontal.
            // pas de graduation puisqu'il n'y a pas d'ascensseur horizontal
            // qui apparait. why?
            g2d.setColor(Color.orange);
            g2d.drawString("d.getWidth : " + d.getWidth(), 400, 400);
         }
    }

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8
    Points : 10
    Points
    10
    Par défaut
    Salut,

    super, ça marche mieux comme ça ! En fait je me suis inspirer de l'exemple "ScrollDemo2.java" sur le site de sun et effectivement tel qu'est fait mon code la clasee MCD4 ne sert à rien.
    Merci pour ton aide je vais pouvoir avancer dans mon projet.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. raffraichissement espace client
    Par informatichien dans le forum Windows
    Réponses: 1
    Dernier message: 26/02/2008, 09h48
  2. Réalisation d'un espace clients
    Par elekaj34 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 19/02/2008, 10h36
  3. Espace clients ?
    Par Franck.H dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2007, 15h47
  4. conseil conception espace client
    Par grinder59 dans le forum Langage
    Réponses: 9
    Dernier message: 04/04/2007, 11h46
  5. Use Case d'un espace client
    Par poulpe77 dans le forum Cas d'utilisation
    Réponses: 6
    Dernier message: 28/01/2007, 11h48

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