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 :

[GridLayout] ne s'affiche pas entièrement !


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Par défaut [GridLayout] ne s'affiche pas entièrement !
    Bonjour,

    Je suis actuellement sur un projet de labyrinthe en java sous Eclipse. J'ai commencé par créer un tableau de int à deux dimensions (de 10x10) auquel j'ai ajouté un tableau de boutons (donc 10x10 boutons). Tout a marché.

    Quand j'ai voulu faire un labyrinthe plus grand (10 lignes et 20 colonnes), il y a eu seulement qu'une partie du labyrinthe affiché dans ma fenêtre dont la taille est de 10x10 ! (et non 10x20)

    Je ne comprend pas pourquoi ça ne se redimensionne pas tout seul. Voici une image de la fenêtre que j'obtiens :

    Nom : Capture d’écran 2014-09-28 à 12.14.57.png
Affichages : 240
Taille : 22,7 Ko

    Ici, il y a donc que la moitié de ma matrice affiché

    Je travaille avec 3 classes : la fenêtre, le labyrinthe et la barre d'action (les boutons)

    Le labyrinthe est ajouté à la fenêtre par un simple BorderLayout. Je pense que le problème viens du GridLayout de la classe Labyrinthe.

    Voici le code de cette classe :

    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
     
    public class LabyrintheNiv2 extends JPanel{
     
    	/************************************** VARIABLES **************************************/
     
    	private BarreAction barreAction;
    	private int[][] grille;
    	private ImageIcon caseVide = new ImageIcon(new ImageIcon(getClass().getResource("/Vide.png")).getImage().getScaledInstance(35, 35, Image.SCALE_DEFAULT));
    	private ImageIcon caseMur = new ImageIcon(new ImageIcon(getClass().getResource("/Mur.png")).getImage().getScaledInstance(35, 35, Image.SCALE_DEFAULT));
    	private ImageIcon caseDepArr = new ImageIcon(new ImageIcon(getClass().getResource("/DepArr.png")).getImage().getScaledInstance(35, 35, Image.SCALE_DEFAULT));
     
    	/************************************** CONSTRUCTEUR **********************************/
     
    	public LabyrintheNiv2(BarreAction barreAction){
    		this.barreAction = barreAction;
    		creerLab();
    	}
     
    	/************************************** FONCTIONS *************************************/
     
    	public void creerLab() {
    		Dimension dim = new Dimension(caseVide.getIconWidth(), caseVide.getIconHeight());
     
    		grille = new int[][]{
    			    { 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1 },
    			    { 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1 },
    			    { 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0 },
    			    { 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0 },
    			    { 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 },
    			    { 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 },
    			    { 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0 },
    			    { 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0 },
    			    { 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1 },
    			    { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 2 }
    		 };
     
    			JButton[][] button = new JButton[10][20];
    			JPanel panel = new JPanel();
    			panel.setLayout(new GridLayout(10, 20));
    			this.setBorder(BorderFactory.createEmptyBorder(8, 8, 8, 8));
     
    			for (int i = 0; i < grille.length; ++i)
    					for (int j = 0; j < grille.length; ++j) {
     
    						if(grille[i][j] == 0)  
    							button[i][j] = new JButton(caseVide);
     
    						else if(grille[i][j] == 1) 
    							button[i][j] = new JButton(caseMur);
     
    						else 
    							button[i][j] = new JButton(caseDepArr);
     
    						button[i][j].setPreferredSize(dim);
    						panel.add(button[i][j]);
     
    					}
     
    			this.add(panel);
     
     
     
     
    	}
     
     
    }
    J'ai importé bien entendu toutes les classes qui fallait. Si quelqu'un peut m'aider ça serait super, merci d'avance !

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Par défaut
    La solution était :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (int j = 0; j < grille[0].length; ++j)

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

Discussions similaires

  1. Ma page ne s'affiche pas entièrement
    Par Daratar dans le forum IIS
    Réponses: 11
    Dernier message: 30/05/2013, 11h16
  2. [Google Maps] Carte Google Maps ne s'affiche pas entièrement
    Par Kentin64 dans le forum APIs Google
    Réponses: 2
    Dernier message: 19/08/2011, 10h19
  3. div ne s'affiche pas entièrement (position absolute)
    Par anisj1m dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/08/2009, 13h12
  4. [HTML] Liste pas entièrement affiché sous IE
    Par sliderman dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/06/2008, 10h08
  5. Page qui ne s'affiche pas entièrement
    Par leodi dans le forum Apache
    Réponses: 7
    Dernier message: 05/08/2006, 22h33

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