Pour commencer
1) Tu est sur la bonne voie il faut essayer de regrouper tes panels par fonctionnalité, emplacement. Si tu peux "découperé ton interface ton code en sera d'autan moins dense et donc plus aisément compréhensible par la suite.
Et justement le jeu sur les layouts est une notion plutôt utile. Savoir quel layout est utile dans quelle situation.
2) en fait la Classe container est la classe mère de tous les composants swing pouvant contenir d'autres composants. Par exemple un JPanel est un container, un JComponent (ancètre de tous le composants swing aussi d'ailleurs). Dans ton cas le container est le panel de base de ta fenêtre sur lequel tu dispose les premieres couches de ton appli. (Dans ton cas, vuq ue tu utilises swing tu peux caster ce container en JPanel vu que c'est son type dynamique par défaut).
Et ce container possède comme Layout un BorderLayout.
C'est le premier conteneur possible quand tu commence ton appli.
A noter que depuis java 1.5 tu peux directement ajouter tes composants à ta JFrame:
1 2
|
add(new MesBouttons()) |
3)Pour ton tableau de Karnaugh tu n'as pas fixé son layout dans son constructeur, sachant que le layout par défaut d'un JPanel est un FlowLayout, tous tes boutons vont être alignés...
Affectes lui donc dans son contructeur un GridLayout de la manière suivante:
this.setLayout(new GridLayout(nbL, nbCol));
Puis pour l'ajout dans ton contentn pane, celui ci est pour l'instant en BorderLayout donc tu as 5 zones possibles
NORTH: en haut
EAST: à droite
WEST à gauche
SOUTH en bas
Et CENTER qui est au centre. La zone CENTER sera la seule qui s'agrandiras quand tu redimensionneras la fenêtre.
Pour ajouter un composant au centre (il te suffit de changer le deuxième paramètre pour ajouter ailleurs.
1 2
|
contentPane.add(monComposant, BorderLayout.CENTER); |
Et si le layout du contentPane ne te conviens pas tu peux toujours en changer avec un setLayout
++
Partager