Salut,
je ne vois pas ce que ton prof te demande de plus...
"PanneauChiffre extends JPanel" signifie que ton PanneauChiffre hérite de JPanel, donc EST un JPanel avec des trucs en plus (ceux que tu vas rajouter). Tu peux appliquer à PanneauChiffre tout ce que tu peux appliquer à un JPanel, notamment les réglages de taille, de couleur etc...
Attention dans ton code tu déclares:
private JButton tabChiffres;
et dans ton constructeur tu refais
JButton[] tabChiffres= new JButton[9];
donc en fait tu masques la variable d'instance tabChiffre qui est un JButton par une variable locale qui est un tableau de Jbutton.
c'est certainement
1 2 3 4 5
| private JButton[] tabChiffres;
public PanneauChiffres()
{
tabChiffres = new JButton[9];
... |
que tu voulais faire.
Il faut aussi ajouter tes boutons a ton PanneauChiffre, (disons sa partie JPanel) avec dans ta boucle
this.add(tabChiffres[i]);
(au passage tu n'es pas obligé de passer par JButton bb, tu peux faire directement
tabChiffres[i]=new JButton("Bouton "+i);
Sinon sur la deuxième partie, le GridLayout ne me semble pas trop indiqué dans ce cas car les 2 composants auront la même taille (GridLayout est très sommaire). En plus il faut qu'il soit initialisé avec (1,2) sinon tu n'as pas de ligne. Par contre il sera super pour ranger tes boutons dans ton PanneauChiffre vu qu'ils auront tous la même taille.
Calculatrice n'a absolument pas à hériter de JPanel (que ferait-elle de plus en tant que JPanel ?), éventuellement de JFrame mais cela ne respecterait pas trop le modèle MVC. Je pense que c'est mieux comme présenté. Calculatrice se chargera de récupérer les infos en provenance des boutons et de faire les calculs, la JFrame d'afficher le tout. A chacun son boulot 
Pour voir ton PanneauChiffre, il faut l'ajouter au ContentPane de ta fenêtre (a la place du deuxième bouton) sinon tu ne pourras pas le voir.
Bon code,
kerinel
Partager