Création de bouton en boucle java

Résolu/Fermé
Guillaume - Modifié par Guillaume le 20/08/2012 à 20:16
 Spartacus - 25 mars 2013 à 09:33
Bonjour,
je suis débutant en java, j'aurais voulu créer des boutons en boucle cependant ça ne marche pas, j'utilise qt jambi sous eclipse.
j'ai essayé de faire comme ça :

import com.trolltech.qt.gui.*;

public class Carte extends QWidget {


public static void main(String args[]){

QApplication.initialize(args);
QGridLayout layout = null;
Carte fenetre = new Carte();
fenetre.setFixedSize(800, 600);

// création d'un tableau 2D
QPushButton[][] bouton = new QPushButton[5][5];

for(int i=0;i<5;i++){
for(int j=0;j<5;j++){

// création d'un nouveau bouton
bouton[i][j] = new QPushButton(fenetre);

// on renomme le bouton
bouton[i][j].setText("case"+i+j);

// on positionne le bouton dans la fenetre
layout = new QGridLayout();
layout.addWidget(bouton[i][j]);

// on fixe la taille du bouton
bouton[i][j].setFixedSize(50, 50);

}
}
fenetre.setLayout(layout);
fenetre.show();
QApplication.exec();
}
}

à l'execution j'ai la fenetre qui s'affiche avec seulement 2 boutons mal placés, 1 en haut à gauche et l'autre en plein milieu.

merci

1 réponse

KX
Messages postés
16544
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
28 mai 2022
2 958
Modifié par KX le 20/08/2012 à 20:40
Si tu débutes en Java, pourquoi utiliser des bibliothèques complémentaires comme Qt, alors que Java dispose nativement de ses propres classes... Ce serait plus simple, ne serait-ce que pour trouver de la documentation !

Exemple :

import java.awt.GridLayout;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Carte
{
    public static void main(String...args)
    {
        int w=5, h=5;
        
        JFrame frame = new JFrame();    
        frame.setSize(800, 600);
        frame.setLayout(new GridLayout(h,w));
        
        JButton[][] bouton = new JButton[h][w];
        
        for(int i=0; i<h; i++)
        for(int j=0; j<w; j++)
            frame.add(bouton[i][j]=new JButton("case["+i+"]["+j+"]"));
        
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
La confiance n'exclut pas le contrôle
0
c'est ami qui m'avais conseillé qt jambi, bref ben je vais faire comme vous m'avez montré.
merci pour votre aide et bonne continuation :)
0
bravo KX :))
0