Problème d'interface (Button, GridLayout, Size)

Résolu
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009 - 18 oct. 2007 à 00:30
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009 - 20 oct. 2007 à 01:11
Bonjour

Je suis entrain de faire un démineur pour un projet scolaire et j'ai quelques problèmes au niveau de l'interface.
Premièrement, j'ai un GridLayout qui contient toutes les Cases (qui sont des JButton) de mon démineur. Or voila, j'ai beau faire un bouton.setSize(16, 16) ... il prend la taille de toute la cellule qui dépend de la taille de la fenêtre. J'aimerais pouvoir faire que la taille des cellules sois 16x16 ou bien qu'elle dépende de la grosseur du bouton à l'intérieur.

Mon second problème est que lorsque je veux mettre du texte dans mon boutton. il doit etre vraiment trop gros pour enfin voir le texte. A la place il met "...". Ceomment faire pour qu'il affiche le texte même si le bouton est petit ? Pourtant les numéros seraient capable de rentrer dedans.

Mon troisème problème ... le plus Chiannnnntt. C'est que j'ajoute tous mes boutons mais il ne s'affiche pas t'en que je ne passe pas la souri dessu. J'ai beau metre des this.repaint() un peu partout il n'a rien a faire

Voici le constructeur de mes Cases :
    public Case() {
        super();
        //this.setSize(Case.defaultCaseDimension);
        this.setSize(16, 16);
       
        // Valeurs par défaut
        this.position = new Point(0,0);
        this.state = 0;
    }

Et l'initiation de mon GridLayout dans mon Game qui est un JPanel
    public Game(Board pBoard) {
        super();
       
        GridLayout grid = new GridLayout(pBoard.getWidth(), pBoard.getHeight());
       
        //this.setLayout(new GridLayout(pBoard.getWidth(), pBoard.getHeight()));
        this.setLayout(grid);
...

Si vous voulez plus de code dite le moi.

Voila un screenshot du résultat présent avec le problème de la souris qui n'est peut-être pas très clair.

~~ Cordialement François Gingras

4 réponses

Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
18 oct. 2007 à 21:10
Salut,

1 - Le problème que tu as est typique du GridLayout... essais d'utiliser un BoxLayout ou un GridBagLayout qui sont beaucoup plus souple pour ce genre de placement (enfin c'est mon avis ^^).
2 - Essais de modifier la police de ton bouton.
3 - Là comme ça je vois pas trop, il faudrait plus d'infos.

En SWING il est préférable d'utiliser la méthode setPreferredSize en lieu et place de la méthode setSize (ça fonctionne mieux avec ^^)

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
3
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
19 oct. 2007 à 03:59
Super !! le setPreferredSize a réglé le gros problème avec la grosseur des boutons. Pour le texte jai changé les marges pour 0, 0, 0,0 et il apparaît maintenant.

Il ne me reste plus que le problème des boutons qui ne s'affiche pas t'en que je ne passe pas la souris dessus. Il redevienne tout invisible lorsque je met la fenêtre en réduction. Mais ce que je ne comprend pas, c'est que les boutons de mon menu reste et de ma ToolBar aussi. C'est juste les boutons dans mon JPanel Game qui a un GridLayout.

~~ Cordialement Francois Gingras
0
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
19 oct. 2007 à 09:42
Salut,

si le code est trop gros vient me voir en MP je te donnerais un mail pour que tu puisse me l'envoyer, mais dans tout les cas il faut le code pour voir ce qu'il se passe et t'aider à debug ton application

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

OoWORAoO
0
bizzard4 Messages postés 155 Date d'inscription vendredi 12 décembre 2003 Statut Membre Dernière intervention 15 février 2009
20 oct. 2007 à 01:11
Enfin !!

J,ai trouver le problème à mon bugue.

Javait uen classe Case qui Extends de JButton. Cette classe avait les méthode getX() et getY() qui sont en override !! Ici es le probème. En changant le nom de ses méthodes les boutons s'affiche !!!!

Merci pour les autres réponses !

~~ Cordialement Francois Gingras
0
Rejoignez-nous