Bienvenue invité ( Connexion | Inscription )
Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.
31 Jan 2004, 18:54
Message
#1
|
|
|
Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 814 Inscrit : 11 Oct 2002 Lieu : Nantes Membre no 4 083 |
J'ai une erreur en compil java super classique et que je crois comprendre... sauf que je ne sais pas comment corriger :
L'erreur : MyFrame.java:103: non-static method getColumns() cannot be referenced from a static context Le code : public class MyFrame extends Frame implements ActionListener { //description des champs... setLayout(new GridLayout(8, 3)); nbCol=GridLayout.getColumns(); pack(); show(); } DecimalFormat TempConv = new DecimalFormat("####0.00"); // public void textValueChanged (TextEvent e) : gestion du texte public void actionPerformed (ActionEvent e) { blal bla... } Je comprend que je fais appel à une méthode public à l'intérieur de l'objet que j'ai créé mais comment programmer pour obtenir le nombre de col de ma frame ? (NB : Objet du code essayer de comprendre pourquoi ma grille n'affiche que 2 colonnes alors que j'en demande 3... Ben oui quoi.. j'débute en java.) Merci d'avance. -------------------- Fan d'apple depuis ... 1987. Donc pas parmi les premiers, mais ça fait tout de même un moment. la vraie nouveauté, c'est ce qui ne vieillit pas malgré le temps. (Muriel Barbery) Membre n° 87 du club des AIPBP (Anciens Inscrits Pas Beaucoup de Posts) Voir la liste |
|
|
|
![]() |
1 Feb 2004, 12:59
Message
#2
|
|
|
Adepte de Macbidouille ![]() Groupe : Membres Messages : 178 Inscrit : 14 Jun 2003 Lieu : Suisse Membre no 8 064 |
QUOTE setLayout(new GridLayout(0, 3)); c'est ici que j'ai positionné mes bidouilles : //nbCol=GridLayout.getColumns(); en fonction de vos remarques, je f'rai bien ce bout de code : GridLayout zeLayout = new GridLayout(0, 3); setLayout(ZeLayout); nbCol= ZeLayout.getColumns(); Tu crées deux fois un GridLayout ici, et tu fais deux fois un setLayout. Je crois pas que c'est ce que tu veux. N'oublies pas que chaque "new" crée un nouvel objet qui est différent. Par conséquent : GridLayout var1 = new GridLayout(0, 3); GridLayout var2 = new GridLayout(0, 3); implique que var1 != var2 (et c'est TOUJOURS le cas). Donc si tu veux tester le nombre de colonne de ton layout, je ferais qqch du style : GridLayout layout = new GridLayout(0, 3); this.setLayout(layout); // je rajoute le "this" car pour débuter je trouve que c'est plus clair int nbCol = layout.getColumns(); // ensuite tu peux faire ce que tu veux avec nbCol, par exemple l'afficher sur le Terminal : // System.out.println("nbCol = " + nbCol); QUOTE Est ce que l'on peut dire qu'une méthode statique est inclue dans l'objet ? Donc, qu'une méthode d'instance ( donc non statique, si j'ai compris) s'applique sur le moule à objet ? La vraie difficulté de ce language c'est bien de différencier les concepts, je trouve : classe, instances, objet, super classes... Les difficultés que tu rencontres ne viennent pas de Java mais bien des concepts de l'orienté objet, comme l'a fait remarqué mpergand. Tu as intérêt à chercher de la documentation claire et complète sur la POO si tu veux être à l'aise plus rapidement avec la POO. En fait, la difficulté avec Java, c'est qu'il mélange les méthodes de classes (static) et les méthodes d'instances (sans le static). Et c'est très déroutant pour les débutants. Pour bien comprendre, il faut vraiment voir la classe elle-même comme un objet. Un objet qui ne peut répondre qu'à des méthodes static. |
|
|
|
arnaudp Question static / pas static en java 31 Jan 2004, 18:54
Bac's Je pense que le problème vient du fait que la mé... 31 Jan 2004, 19:33
arnaudp J'ai fait le test et il n'est pas plus con... 31 Jan 2004, 19:43
mpergand Généralement cette erreur survient lorsque l... 31 Jan 2004, 21:06
arnaudp Merci pour vos explications...
Mais dans le code ... 1 Feb 2004, 09:39
mpergand Une petite recherche avec Google devrait te permet... 1 Feb 2004, 10:04
molgow Tu fais quoi à droite du "zeLayout =" .... 1 Feb 2004, 10:05
arnaudp QUOTE (mpergand @ 1 Feb 2004, 09:04)Une petit... 1 Feb 2004, 10:20
arnaudp QUOTE (molgow @ 1 Feb 2004, 09:05)Tu créée ... 1 Feb 2004, 10:42
mpergand Les notions d'objet, classe, instance, subclas... 1 Feb 2004, 11:10
Bac's QUOTE (arnaudp @ 1 Feb 2004, 10:42)Cependant,... 1 Feb 2004, 17:09![]() ![]() |
| Nous sommes le : 4th April 2026 - 17:22 |