Bonjour la liste,
J'ai l'habitude, lorsque je d�veloppe une application, de
mettre un certain nombre de constantes (oops : de variables
statiques - voire final) dans un Config.java.
Ceci me permet, par exemple, d'�crire des trucs du style :
if (Config.DEBUG) {
...
}
Lorsque j'�cris une classe Toto que je met dans le package
truc, cette classe commence bien entendu par :
package truc;
import Config;
Et voil� le probl�me : en compilant avec le jdk1.4, il me
sort une erreur � la compilation de Toto.java :
truc/Toto.java:8: '.' expected
import Config;
^
Inutile de pr�ciser que j'ai aussi une erreur sur
Config.DEBUG, car il ne reconna�t pas Config.
Je me doute bien qu'en mettant Config dans le package
monappli et Toto dans monappli.truc, le probl�me serait
r�solu par un import monappli.Config, mais que voulez-vous,
j'aime bien ne pas faire trop propre parfois.
Un autre truc rigolo est que la version de forte pour
SDK1.4 (<TROLL sur les IDE>que je trouve pas mal par
rapport aux versions pr�c�dentes -ce qui m'a pouss� �
passer en 1.4 - et que j'utilise � la place de mon
emacs/jde habituel pour faire des interfaces</TROLL>) ne me
g�n�re pas d'erreur !
Bref, comment faire pour que mon import soit accept� par le
compilateur du jdk1.4 ? S'agit-il d'un bug connu, ou bien
est-ce une volont� d'imposer un d�veloppement plus propre
(plus acad�mique) en imposant un package pour une appli
java ?
Autre question :
Dans une classe qui h�rite d'un JFrame, j'ai surcharg� les
m�thodes permettant d'ouvrir la fen�tre, � savoir
setVisible(boolean), show() et show(boolean).
Bien entendu, le compilo me sort que c'est deprecated, je
le sais bien mais je veux �tre s�r que mon code soit
ex�cut� � l'ouverture de la fen�tre.
Mis � part le fait que j'aimerais que le compilateur se
taise l�-dessus (pour voir si je n'ai pas d'autre
deprecated dans mon code), je me suis rendu compte d'un
truc bizarre :
Initialement, au lieu d'appeler super.show() dans ma
m�thode show(), j'appelais setVisible(true). Or, surprise,
en ouvrant ma fen�tre avec setVisible(true), je me
retrouvais sur un StackOverflow qui me permettait de
constater que le super.setVisible(true) de mon
setVisble(true) appelait show() (qui appelait mon
setVisible()), d'o� la boucle....
Est-ce � dire que dans les librairies du jdk1.4 les
m�thodes deprecated sont utilis�es ? (qu'elles soient
impl�ment�es, je comprends, mais utilis�es !?!)
Bon, je n'ai pas de question particuli�re � poser
l�-dessus, j'ai bien entendu chang� mes setVisible(true) en
super.show(), et puis j'ai sorti mon code ajout� dans une
tierce m�thode et tout fonctionne. Mais mon �tonnement
est-il justifi� ?
St�phan BERNARD
--
St�phan BERNARD [EMAIL PROTECTED]
LISC/CEMAGREF - 24 av. des Landais - 63172 Aubi�re Cedex