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 :

Probleme avec JScrollPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 30
    Par défaut Probleme avec JScrollPane
    Bonjour,

    Pour la conception d'un jeu pour ma fac, j'ai voulu ajouter des scrollbar a un JPanel. Apres quelques recherches je suis tombé sur une solution : le JScrollPane, mais je n'arrive pas a le faire fonctionner, et je ne comprends pas pourquoi .... j'ai reussi à forcer l'affichage des scrollbar mais celle-ci ne se redimensionne pas a la taille du JPanel (j'ai les scrollbar mais elles me permettent pas de descendre) et je vois pas d'ou ca vient .... Je vous montre les codes sources de mes constructeurs, si vous avez besoin d'autre chose hésitez pas à demander :

    _class Fenetre extends JFrame :
    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
    	protected static JPanel bas;
    	protected static JLabel score; 	
    	protected static JLabel jeton; 	
    	protected static JLabel scoreSelection; 	
    	private static int nombrePoint;
    	private static int nombreJeton;
    	private static int monScoreSelection;
     
     
    	public Fenetre(){
    		nombrePoint=0;
    		nombreJeton=0;
    		monScoreSelection=0;
    		setSize(600,400);
     
    		Panneau monPanneau = new Panneau();
    		JScrollPane monScrollPane = new JScrollPane(monPanneau, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
     
    		monScrollPane.setViewportView(monPanneau);
    		monScrollPane.setVisible(true);
     
    		monScrollPane.createVerticalScrollBar();
    		monPanneau.setVisible(true);
     
    		bas = new JPanel();
    		bas.setLayout(new GridLayout(0,3));
    		jeton = new JLabel();
    		score = new JLabel();
    		scoreSelection = new JLabel();
    		bas.add(jeton,0,0);
    		bas.add(scoreSelection,0,0);
    		bas.add(score,0,2);
    		setNombrePoint();
    		setNombreJeton();
    		add(monScrollPane,"Center");
    		add(bas, "South");
    		setVisible(true);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    		JMenuBar menuBarre = new JMenuBar();
    		setJMenuBar(menuBarre);
     
    		JMenu fichier = new JMenu("Fichier");
    		menuBarre.add(fichier);
     
    		JMenuItem nouveau = new JMenuItem(new NouveauJeuAction("Nouveau Jeu"));
    		JMenuItem quitter = new JMenuItem(new QuitterAction("Quitter"));
    		fichier.add(nouveau);
    		fichier.add(quitter);
     
    		quitter.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,InputEvent.CTRL_MASK));
    		nouveau.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,InputEvent.CTRL_MASK));
     
     
    	}
    _class Panneau extends JPanel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	private GrillePions mesPions;
    	private static int taillePion = 30;
     
    	public Panneau()
    	{
    		mesPions = new GrillePions(this);
    		repaint();
    		addMouseMotionListener(mesPions);
    		addMouseListener(mesPions);
    	}
    Voila je pense pas que les constructeurs des autres classes soient bien utiles pour vous... J'espere que vous pourrez m'aider,

    Cordialement

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le fait que les scrollbar soient actives dépend de la taille du composant contenu, en l'occurence de la preferredSize.

    J'ai comme l'impression que le composant contenu n'indique pas sa preferredSize et de fait, le JScrollPane ne sait pas S'il doit activer ou pas les JScrollbars

    Donc il te faut soit faire un setPreferredSize sur le composant contenu, soit redéfinir la méthode getPreferredSize du composant pour qu'elle renvoie la taille voulue.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 30
    Par défaut
    En effet, c'est ca mon probleme, j'ai testé plusieurs setPreferredSize sur mon composant contenu, et les scrollbars s'activent si je lui indique une taille assez grande, il me suffit donc de faire un setPreferredSize de la taille de mon panneau et j'aurais reglé mon probleme

    Merci beaucoup

    Bonne journée

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

Discussions similaires

  1. probleme avec JPanel et JScrollPane
    Par josephgl dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 15/05/2010, 10h49
  2. Probleme avec un jScrollPane
    Par bilibou dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/05/2007, 19h29
  3. Probleme avec JScrollPane()
    Par Asmod_D dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/03/2007, 18h22
  4. [debutant] probleme avec jscrollpane
    Par skwi6 dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 30/10/2006, 20h57
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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