IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java ME Discussion :

interface graphique j2me


Sujet :

Java ME

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut interface graphique j2me
    Bonjour,

    je suis actuellement en train de développer une application en J2ME et je seche un peu pour l'interface graphique.

    Je dois réaliser un menu de la sorte :


    Pour l'instant, j'ai déja réaliser le code suivant :

    le fichier main :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    package main;
     
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    import view.Gui;
     
    public class main extends MIDlet {
     
    	private Display _display; //Display est indispensable à l'affichage
    	private Gui _gui;
     
    	public main() {
    		_gui = new Gui();
    		_display = Display.getDisplay(this);
    	}
     
    	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
    	}
     
    	protected void pauseApp() {
    	}
     
    	protected void startApp() throws MIDletStateChangeException {
    		_display.setCurrent(_gui);
    	}
     
    }
    et un fichier Gui :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    package view;
     
    import javax.microedition.lcdui.*;
    import java.io.IOException;
     
    public class Gui extends Canvas implements CommandListener 
    {
     
     
    	private int _height;
    	private int _width;
    	private int _posXb1;
    	private int _posXb2;
    	static Image image;
     
    	public Gui()
    	{
    	   _height = getHeight(); // hauteur totale de l'écran
    	   _width = getWidth(); // largeur totale de l'écran
    	   _posXb1 = ((25*_width)/100)-46;
    	   _posXb2 = ((75*_width)/100)-46;
    	}
     
     
    	protected void paint(Graphics g)
    	{ 	
    		//dessin du fond
    		g.setColor(0, 0, 0);
    		g.fillRect(0,0,_width,_height);
     
    		//Acquisition et affichage de la banniere
    		if (image == null) 
    		{
                try 
    			{
    				image = Image.createImage("banniere.png");
                } 
    			catch (IOException ex) 
    			{
                    g.setColor(0xffffff);
                    g.drawString("Failed to load image!", 0, 0, Graphics.TOP | Graphics.LEFT);
                    return;
                }
            }
            g.drawImage(image, 0, 0, Graphics.VCENTER | Graphics.HCENTER); 
     
    		// ligne milieu
    		g.setColor(255,0,255);
    		g.drawLine(1, 50, _width, 50) ;
     
    		//Dessin du premier rond
    		g.setColor(255,255,255);
    		g.fillRoundRect(7, 60, 50, 50, 50, 50);
    		g.setColor(255,0,255);
    		g.drawRoundRect(7, 60, 50, 50, 50, 50);
     
    		//Dessin du second rond
    		g.setColor(255,255,255);
    		g.fillRoundRect(7, 120, 50, 50, 50, 50);
    		g.setColor(255,0,255);
    		g.drawRoundRect(7, 120, 50, 50, 50, 50);
     
    		//Dessin du troisieme rond
    		g.setColor(255,255,255);
    		g.fillRoundRect(7, 180, 50, 50, 50, 50);
    		g.setColor(255,0,255);
    		g.drawRoundRect(7, 180, 50, 50, 50, 50);
     
    		//Dessin du bouton Quit
    		g.setColor(255,0,255);
    		g.drawRoundRect(_posXb1, 247, 92, 20, 20, 50) ;
     
    		//Dessin du bouton Select
    		g.setColor(255,0,255);
    		g.drawRoundRect(_posXb2, 247, 92, 20, 20, 50) ;
    	}
     
    	public void commandAction(Command arg0, Displayable arg1) 
    	{
    	}
     
    }
    Je voudrais donc savoir comment (ou quels outils utiliser pour) afficher les images, comment insérer du texte, et comment faire le menu.

    Merci d'avance !

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Par défaut
    Bonjour,
    Apparemment tu sais déjà comment afficher les images et les textes sur un Canvas, alors passe ton Canvas en full screen, et oublie l'interface CommandListener pour la remplacer par la méthode keyPressed de Canvas.

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    795
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 795
    Par défaut
    Attention quand même que sur certains téléphone, les touches 'de commandes' (comprenez les touches à gauche et à droite du 'joystick') ne peuvent être récupérées qu'avec le command listener, notamment sur le N95...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Citation Envoyé par Anikinisan Voir le message
    Attention quand même que sur certains téléphone, les touches 'de commandes' (comprenez les touches à gauche et à droite du 'joystick') ne peuvent être récupérées qu'avec le command listener, notamment sur le N95...
    En fait ça dépend, il faut éviter d'utiliser getGameAction(keyCode) de la classe Canvas, et il me semble que les softkeys sont récupérables dans le keyPressed, avec les codes de touches -6 et -7.
    Sinon pour les Nokia, il faut peut etre utiliser le FullCanvas de l'api Nokia.
    Un exemple ici.

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Juin 2004
    Messages : 187
    Par défaut
    Je confirme que sur le N95 les softkeys correspondent au code -6 & -7 et qu'il n'y a pas besoin de passer par la classe Nokia FullScreen pour passer en plein écran.

  6. #6
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 19
    Par défaut
    Apparemment tu sais déjà comment afficher les images
    J'ai codé cette fonction, mais dans tous les cas (en essayant d'écrire le chemin de l'image sous plusieurs formes) il me dit "Failed to load image!", je dois donc avoir une erreur quelque part mais je ne trouve pas.

    Et pour faire des menus, comment dois-je m'y prendre ?

    Merci

Discussions similaires

  1. Meilleur API pour interface graphique J2ME
    Par raz2008 dans le forum Java ME
    Réponses: 0
    Dernier message: 02/08/2013, 22h03
  2. Interface graphique en J2ME
    Par totooo dans le forum Java ME
    Réponses: 2
    Dernier message: 17/04/2009, 14h51
  3. Application multiplateforme avec interface graphique
    Par TNorth dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 31/01/2004, 18h55
  4. [Kylix] Interface graphique pour lognes de commande linux
    Par lecharcutierdelinux dans le forum EDI
    Réponses: 6
    Dernier message: 29/08/2003, 10h20
  5. plugin interface graphique
    Par jocelyn dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/08/2003, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo