directive conditionnelle, j2me, j2se
Le
ricoh51

Bonjour,
j'ai 2 projets en cours, le premier en j2me et le second en j2se. J'ai
une classe commune aux 2 projets, avec une petite différence :
Pour dessiner dans un canvas, en j2me je dois faire
import javax.microedition.lcdui.*;
et en j2se :
import java.awt.*;
Comment faire pour que ma classe soit utilisable dans les 2 projets,
sans rien changer?
merci
eric
--
http://ricoh51.free.fr/
j'ai 2 projets en cours, le premier en j2me et le second en j2se. J'ai
une classe commune aux 2 projets, avec une petite différence :
Pour dessiner dans un canvas, en j2me je dois faire
import javax.microedition.lcdui.*;
et en j2se :
import java.awt.*;
Comment faire pour que ma classe soit utilisable dans les 2 projets,
sans rien changer?
merci
eric
--
http://ricoh51.free.fr/
Bonjour,
Les plateformes étant trés différentes dans leur capacité, il ne serait
pas facile de faire de simple "directive conditionelle" de toute façon
(cf. directive dans netbeans par exemple).
La solution est donc plus de séparer ton application en deux groupes
distincs : ta logique d'affichage et ta logique métier (service ?).
La logique d'affichage étant présente en deux implémentations
différentes (une pour midlet, une pour awt/swing), les deux
implémentants/utilisant les mêmes interfaces.
Ne restera qu'au démarage de l'application de lancer l'implémentation
que tu préfères.
Si l'utilisation de la version AWT/swing pour toi est marginale, alors
tu peux envisager utiliser des kits type le "bon vieux" me4se et ainsi
retomber dans un cas de configuration traitable par directive. Mais
l'ergonomie pour ses utilisateurs n'atteindra jamais des sommets
d'intégration ...
A+
TM
mmh, je viens de trouver ça :
//#ifdef MIDP
import javax.microedition.lcdui.*;
//#else
import java.awt.*;
//#endif
ça a l'air de fonctionner, c'est spécifique à NetBeans je suppose?
c'est ce que je fais, mais je trouvais sympa de pouvoir utiliser la
même classe pour dessiner mes canvas
merci pour ta réponse
eric
--
http://ricoh51.free.fr/
Spécifique, moche (AMHA), et limité en terme de gestion de config ...
mais, pour les dingues de C/C++ drogués aux #define, indispensable :(
A moins d'utiliser une techno de rendu commune type SVG, je vois pas
trop comment ...
Tant que ça aide, c'est le principal ... bon là sur le coup, je suis pas
sûr ;-)
A+
TM