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 :

Problème Graphics dans JScrollPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut Problème Graphics dans JScrollPane
    Bonjour,
    voilà j'ai un problème avec un JScrollPane.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public class FenetrePrinc extends JFrame {
        public FenetrePrinc() {
        	JScrollPane jsc = new JScrollPane();
        	Grille2D gr = new Grille2D(200, 200);
        	jsc.add(gr);
            setContentPane(jsc);
            setBounds(new Rectangle(100, 100));
        }
    Je veux mettre une grille dans le JScrollPane afin de pouvoir modifier la taille de ma grille cependant, il semble que :
    1-> Quand je resize ma fenêtre le graphique ne reste pas
    2-> Le JScollPane ne détecte pas que je dessine en dehors de ma vue

    Voici le code de ma grille :

    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
    public class Grille2D extends JPanel {
    	private int largeur_par_case;
    	private int longueur_grille;
    	private int hauteur_grille;
     
    	Grille2D(int longueur_, int hauteur_) {
    		longueur_grille = longueur_;
    		hauteur_grille = hauteur_;
    		largeur_par_case = 20;
    		setSize((20*longueur_)+50, (20*hauteur_grille)+50);
    	}
     
    	protected void paintComponent(Graphics g) {
    		super.paintComponent(g);
    		setBackground(Color.WHITE);
     
    		for (int i=0; i != hauteur_grille+1; i++) {
    			g.drawLine(0, i*largeur_par_case, hauteur_grille*largeur_par_case, i*largeur_par_case);
    		}
     
    		for (int i=0; i != longueur_grille+1; i++) {
    			g.drawLine(i*largeur_par_case, 0, i*largeur_par_case, longueur_grille*largeur_par_case);			
    		}
    	}
    }


    Merci à tous et à toutes

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 13
    Par défaut Réponse pour ceux intéressés
    J'ai réussi à trouver la réponse à ma question qui était comment faire pour que le JScrollPane puisse reconnaître que son composant a changé ... et bien en changeant son setPreferredSize ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Grille2D(int longueur_, int hauteur_) {
    		longueur_grille = longueur_;
    		hauteur_grille = hauteur_;
    		largeur_par_case = 20;
    		setPreferredSize(new Dimension((20*longueur_)+50,                  (20*hauteur_grille)+50));
    	}
    Merci

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

Discussions similaires

  1. Problème affichage dans JScrollPane
    Par alex2746 dans le forum Composants
    Réponses: 3
    Dernier message: 15/11/2010, 12h02
  2. Problème JTree dans un JscrollPane
    Par Ploue dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 24/10/2009, 11h41
  3. ajout d'un Graphics dans un jScrollPane dynamiquement
    Par rocel dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 15/05/2008, 16h47
  4. Réponses: 3
    Dernier message: 13/06/2007, 16h50
  5. Réponses: 7
    Dernier message: 04/06/2006, 17h00

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