IPB

Bienvenue invité ( Connexion | Inscription )

> Programmation

Il est interdit de poster directement à la racine de ce forum.
Veuillez créer votre topic dans le sous-forum approprié.

> Question static / pas static en java, je ne sais pas comment corriger...
Options
arnaudp
posté 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
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
mpergand
posté 31 Jan 2004, 21:06
Message #2


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 1 198
Inscrit : 8 Oct 2003
Membre no 10 220



Généralement cette erreur survient lorsque l'on essaye dans une méthode static d'accéder à une variable ou une autre méthode non static de la même classe(dans un contexte static tu ne peux accéder qu'a des éléments static).
Dans ton cas getColumns n'est pas une méthode static de la classe GridLayout, tu ne peux donc l'appeler qu'a partir d'une instance de GridLayout ex: myGrid.getColumns(), comme l'a dit Bacs.

Ce message a été modifié par mpergand - 31 Jan 2004, 21:09.
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 4th April 2026 - 17:23