Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1589 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Créer un objet graphique (cliquable) en J2ME

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un objet graphique (cliquable) en J2ME

n°1026821
Khyna
Posté le 27-03-2005 à 17:21:29  profilanswer
 

Bonjour, tout le monde,
J'ai un petit soucis de conception pour une application qui doit tourner sur PDA.
Je dois créer des objets graphique (je ne sais pas comment le nommer autrement) qui devront être cliquable par l'utilisateur de l'application (grâce au stylet).
Je n'arrive pas à trouver comment faire, pour l'instant j'arrive à recevoir l'information comme quoi l'utilsateur clique sur l'écran (grâce à la fonction pointerPressed() que je redénifie dans monCanvas).
Sinon j'ai trouvé en fouillant dans l'api IBM fourni avec websphere qu'il existe une classe CanvasComponent, c'est surement quelques chose comme ça qu'il faut que j'utilise mais j'arrive pas à en hériter (à cause de la visibilité).
 
Si quelqu'un pouvait me guider dans une solution qui existe deja ou qu'il vu, ca m'aiderait vraiment, cela fait un moment que je bloque sur ce problème.
 
Merci pour tout.

mood
Publicité
Posté le 27-03-2005 à 17:21:29  profilanswer
 

n°1027264
Khyna
Posté le 28-03-2005 à 13:27:59  profilanswer
 

up

n°1029248
Diody
Posté le 29-03-2005 à 23:43:43  profilanswer
 

Regarde du coté de la classe "CustomItem", elle sert à faire des composants personnalisés (une methode paint pour dessinner ce que tu veux deds et ca propre gestion de evenement (pointerPressed etc))
 
T'as un exemple dans le projet "UIDemo" fourni avec le wireless toolik 2.2 de sun.

n°1041036
Khyna
Posté le 09-04-2005 à 11:33:19  profilanswer
 

merci Diody, j'ai tester, mais j'arrive toujours pas a gérer les evennements.
Est-ce que je dois implémenté ItemCommandListener ?
Parce que j'ai le code suivant, et j'ai pas l'impression que la méthode pointerPressed() est invoqué quand l'utilisateur clique sur le CustomItem.


public class ItemIdea extends CustomItem implements ItemCommandListener {
...
 public void pointerPressed(int x, int y) {
   
   
  //theDataModelIdea.setActiveIdea(theIdea);
   
  System.out.println("J'ai cliqué en x = "+(new Integer(x)).toString());
   
  //this.repaint();
 
 }
...
}


 
Si quelqu'un pouvait me dire si je m'y prend mal, ca pourrait vraiment m'aider, je cherche sur le net depuis un moment.
 
merci

n°1041943
Khyna
Posté le 10-04-2005 à 14:23:17  profilanswer
 

en gros je me demande s'il faut utiliser ItemCommandListener ici, ou bien dans mon Form ou bien pas du tout !!

n°1042773
Diody
Posté le 11-04-2005 à 12:13:08  profilanswer
 

En fait j'ai fait quelque test et c'est vrai que sur mon PocketPC j'ai jamais réussi à utiliser les événements de bas niveau (pointerPressed) dans un CustomItem hum.
 
Sinon il y a une autre solution, tout les Objets instanciant une classe qui dérive de la classe Item peuvent être associé à un objet Command, tu peux alors utiliser directement un objet ImageItem. Donc oui il faut utiliser l'interface ItemCommandListener
 
Un petit exemple :
 

Code :
  1. public class exemple extends Form implements ItemCommandListener {
  2.   private Command CMD;
  3.   private ImageItem imageItem;
  4.   public exemple () {
  5.     imageItem = new ImageItem(...);
  6.     CMD = new Command(...);
  7.     imageItem.setDefaultCommand(CMD);
  8.     imageItem.setItemCommandListener(this);
  9.     append(imageItem);
  10.   } 
  11.   public void commandAction(Command c, Item i) {
  12.     if (c == CMD && i == imageItem) {
  13.       // Action a effectuer quand on click sur l'image
  14.     }
  15.   }
  16. }


Message édité par Diody le 11-04-2005 à 12:40:25
n°1043275
Khyna
Posté le 11-04-2005 à 17:49:17  profilanswer
 

j'ai réussi dans la nuit d'hier à aujourd'hui.
 
Le customItem était a peu près bon sauf, qu'il fallait juste ajouter l'implémentation de la méthode traverse (meme si elle ne fait rien :
 

Code :
  1. public class ItemIdea extends CustomItem {
  2. ...
  3. protected void pointerPressed(int x, int y) {
  4.      //se déclenche bien lors tu l'utilisation du stylet
  5.      ...
  6. }
  7. //mais il faut implémenter cette méthode.
  8. protected boolean traverse( int dir, int viewportWidth, int viewportHeight, int[] visRect_inout ) {
  9.      return true;
  10. }
  11. }


 
Et donc maintenant ca marche, il vrai qu'il faut que le Form implémente l'interface ItemCommandListener
et d'ajouter un listener à chaque item.
 

Code :
  1. anItemIdea = new ItemIdea(anIdea,myDatas,this,2);
  2. anItemIdea.setItemCommandListener(this);


 
Et les objets (CustomItem) sont cliquables.
 
Mon problème est règlé, je peux continuer mon développement tranquilement.
 
Merci pour tout
 

n°1488994
wols
pseudo
Posté le 09-12-2006 à 11:44:04  profilanswer
 

bjr,
 
j'ai un probleme pr inserer + images avec les touche du portable, j arrive pas a créer +methodes paint
 
est ce que kelkun sai commen faire ou s'il y a une autre possibile
 
merci d'avance,


---------------
work toghether

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Créer un objet graphique (cliquable) en J2ME

 

Sujets relatifs
Créer un Thread, c'est bien et le fermer...?créer un bouton fermant la page html (applet)
Création dynamique d'un objetCréer un fichier vide
[J2ME] Je n'arrive pas à utiliser l'internationalisation en J2MEcreer une arborescence de type Windows exploreur
GRAPHIQUEHeritage et J2ME
CreateObject("Excel.Application") ne crée pas l'objet ![J2ME] Image dans un canvas
Plus de sujets relatifs à : Créer un objet graphique (cliquable) en J2ME


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR