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 Discussion :

Tutoriel interface graphique


Sujet :

Java

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Tutoriel interface graphique
    Bonjour,

    Je dois faire actuellement un demineur en Java mais après avoir cherché , je n'ai pas trouvé un moyen de faire une interface graphique pour ce jeu.

    Auriez-vous un tutoriel Java afin de faire une bonne interface graphique pour un demineur?

    Merci d'avance

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    En swing, swt ou autres ?

  3. #3
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Points : 1 698
    Points
    1 698

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Euh, je ne connais pas encore très bien les différences , pour l'instant j'ai appris avec le tutoriel Java donc je connais quelques classes de swing et de awt( au niveau des composent style bouton et de l'agencement de ceux-ci).

    Je recherche une ou plusieurs manières pour que je puisse me faire une idée.

    P.S : je n'arrive pas a trouver l'endroit sur le lien que tu m'a donner qui pourrais me servir.

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 084
    Points : 7 998
    Points
    7 998
    Par défaut
    Le problème est qu'on ne sait pas ce que tu sais ou ne sais pas.

    - Sais tu créer un fenetre ?
    - Y ajouter des composants (bouton, label, combo, ...)
    - Mettre et connaitre different Layout (disposition des elements).

    etc...

    Tu pourrais essayer de creer une Frame avec une layout en grille de X*X cases.
    Ces cases pourrait être des bouton ou alors des Label (avec une icone) qui reagirait au click de souris. (Par exemple)

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Je sais actuellement :

    Créer une fenêtre.
    Créer des composant et les ajouter a ma fenêtre.
    Faire plus au moins écouter les objets par d'autres.
    Je sais plus au moins comment utiliser un GridLayout, BorderLayout.

    (Mon gros problème c'est que j'ai du mal à voir comment faire une recherche efficace sur l'api java, du coup je viens sur ce forum Java.)

    Ce que je désire exactement : c'est avoir un tutoriel afin de pouvoir par exemple mettre des images à des endroits précis sur une fenêtre afin de pouvoir dans mon cas :

    -Afficher le même carré de base(image) représentant la case à découvrir.
    -Puis suivant que je clique sur la case, changer l'image en conséquence.

    Le label dont vous me parler semble correspondre à mes attentes d'après votre description mais dans quel package se trouve t-elle? Avez-vous un tutoriel?

    Et étant donné que je suis intéressé par le sujet, j'ai demandé , de manière générale, quels étaient les différents moyen que je peux utiliser pour faire mon interface graphique.

    J'espère avoir été plus précis.

  7. #7
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    -Afficher le même carré de base(image) représentant la case à découvrir.
    - Comme a dit Wax tu as plusieurs méthodes:
    -mettre une images sur un JButton pour faire simple
    -mettre une icone sur un JLabel
    -redéfinir le paintComponent d'un JPanel pour mettre une image.

    -Puis suivant que je clique sur la case, changer l'image en conséquence.
    - Cette partie c'est dans un ActionLister qui est sur le composant choisi pour l'affichage des images. le changement doit être par rapport à un modèle, pour un démineur un tableau je pense. Toutes les cases à 0 au début puis dès que tu cliques sur un bouton avec le bouton droit de la souris sa change la valeur du tableau(0: gris 1: drapeau 2: interrogation) puis un refresh des images de la table de jeu par rapport aux informations du tableau. Pour le clique gauche découverte d'un nombre alétoire de case par rapport à un autre tableau ou il y a les mines.

    Le label dont vous me parler semble correspondre à mes attentes d'après votre description mais dans quel package se trouve t-elle? Avez-vous un tutoriel?
    C'est un composant swing je pense, le JLabel. Un tutoriel spécifique pour le développement d'un démineur je ne pense pas que sa existe mais sur l'utilisation des JLabel, ActionListener, JButton, GridLayout ... tu devrais trouver sa facilement sur le forum dans l'onglet tutoriel.

    JLabel :
    http://docs.oracle.com/javase/tutori...nts/label.html

    J'ai trouvé ce tutoriel pour un peu tout :
    http://baptiste-wicht.developpez.com...wing/debutant/

    Et étant donné que je suis intéressé par le sujet, j'ai demandé , de manière générale, quels étaient les différents moyen que je peux utiliser pour faire mon interface graphique.
    Les bibliothèques graphique de composant :
    AWT : composant basé sur le grahique du système
    SWT : composant système s'il ne le trouve pas il le dessine
    Swing : tous les composants sont déssinés en java ( avantage interface uniforme quelque soit la plateforme mais un peu plus lent que AWT)

    Tu peux les utiliser dans un développement "à la main" mais il existe des logiciels pour faire des interfaces ( WindowsBuilder et d'autres).

    En espérant avoir pu t'aider.

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour les réponses , cependant, quelques points me semblent encore obscure.

    Comme mon objectif est de faire une grille de carré, je me suis laissé dire qu'utiliser un gridLayout serait une bonne idée( mais si je voulais faire des hexagones , triangles ... que pourrai-je utiliser?)

    Ensuite, il me faudrait créé un Jpanel , ou un JLabel ou encore un JButton pour chaque case de mon demineur si j'ai bien compris avec lesquels je rajouterai une image.

    Et ensuite comme je veux, que le jeu réagissent lorsque je clic sur une case spécifique, je devrais alors créé un mouseListener pour chacun de mes JButton ou JPanel ou JLabel?!?

    Je crois surement que je m'y prend mal, pourriez-vous encore me consacré un peu de temps?

  9. #9
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    Pas de soucis,

    Comme mon objectif est de faire une grille de carré, je me suis laissé dire qu'utiliser un gridLayout serait une bonne idée( mais si je voulais faire des hexagones , triangles ... que pourrai-je utiliser?)
    Le gridLayout est une structure type damier pré-programmer dans java, il est donc pratique mais si tu souhaites faire un damier personnalisé tu peux le creer toi même :

    - Faire un paint Component d'un JPanel pour déssiner ton damier (Drawline il me semble) puis placer tes images au bon endroit ( sa demande un peu de temps car il faut placer les lignes et les images au bon endroit,au pixel prêt, il suffit que ta fenêtre soit de taille dynamique et le calcul promet d'être fun)

    - Faire ton propre Layout mais pour ma part je me suis jamais lancé dedans

    Ensuite, il me faudrait créé un Jpanel , ou un JLabel ou encore un JButton pour chaque case de mon demineur si j'ai bien compris avec lesquels je rajouterai une image.
    C'est exactement sa, tu peux tester pour voir ce qui te plait le mieux pour ce point.

    Et ensuite comme je veux, que le jeu réagissent lorsque je clic sur une case spécifique, je devrais alors créé un mouseListener pour chacun de mes JButton ou JPanel ou JLabel?!?
    C'est sa aussi, mais tu peux faire un seul mouseListener puis différencier les cases par un identifiant ( un bon petit switch) pour un traitement spécifique sa t'évitera d'avoir X classes. Le mouseListener est le bon choix car pour un démineur tu as besoin du clic gauche et du clic droit.

    Tu n'es pas si perdu que sa . Mais avant de faire un démineur type triangle commence par un quadrillage c'est plus simple ^_^.

  10. #10
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci beaucoup pour les informations , je me suis un peu entrainé pour comprendre le fonctionnement de tout cela.

    J'arrive désormais à créer une fenêtre avec les multiples JPanel (j'ai opté pour cette méthode) et faire en sorte de changer l'image lorsque je clique dessus.

    Mais je me suis arrêté là car quelques points me chiffone:

    -J'aimerai organiser mon projet de manière convenable mais y a-t-il une sorte de méthode?Des choses à respecter?


    -Ensuite, je vais faire un menu, je dirais assez basique.Mais j'aimerai faire comme le demineur existant sur windows, càd pouvoir avoir plusieurs niveau de difficulté en cliquant sur mes boutons mais un problème se pose à priori:

    *Je lance mon demineur dans une classe main où il n'y aura pas grand chose dedans(enfin normalement la gestion de la victoire je suppose), mais pour démarrer un demineur avec une difficulté différente je dois pouvoir appeler comme bon me semble un démineur de taille différentes.

    *Pour créer des maps de bombes avec des tailles différentes je n'ai pas de problème car j'ai une méthode assez générale.Mais pour pouvoir dire à mon "main" de lancer tel ou tel type de démineur je ne vois pas comment faire.


    J'espère que vous pourrez me donner quelques bons conseils, merci

  11. #11
    Membre expérimenté Avatar de supergeoffrey
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2010
    Messages
    802
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 802
    Points : 1 698
    Points
    1 698
    Par défaut
    Dans mon habitude pour créer des UI :

    La méthode main comprenait que la création de ma fenêtre principale au plus son affichage.

    Ensuite je te conseille de créer une classe qui hérite de java.swing.JFrame et qui implémente une interface. Dans cette interface, tu pourras y mettre des services (sous forme de méthode) comme nouvellePartie(int nbCollones, int nbLignes). Le but est que tes écouteurs (ActionListener,...) ont une référence vers ta fenêtre principale via l'interface.

    Après pour modifier la taille de ton démineur rien ne t'empêche de faire un setContentPane sur ta fenêtre pour changer tous sont contenu.

  12. #12
    Modérateur
    Avatar de XxArchangexX
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2012
    Messages
    1 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 159
    Points : 2 323
    Points
    2 323
    Par défaut
    Bonjour,

    J'aimerai organiser mon projet de manière convenable mais y a-t-il une sorte de méthode?Des choses à respecter?
    Il y a plusieurs façon d'organiser ton code, le domaine de l'architecture applicative donne plusieurs concepts (MVC, arche, seehim, 6couches ...) qui définissent différentes façon d'organiser ton code.

    Le plus utilisé, il me semble, est le MVC (modèle, vue, controleur) le modèle gère les données, les traitements, les calculs. Le controleur gère la réaction sur l'interface et la mise à jour de celle-ci. L'interface c'est le graphique. C'est compréhensible et facile à maintenir, deplus les fonctions du modèle ou les interfaces sont réutilisables.

    Donc ce que tu peux faire c'est mettre tes interfaces dans des classes Vue_, les controleurs (ActionListener,Mouse ...) dans des classes à part controleur_ et pour finir les fonctions de gestion de ton jeu dans un modèle.


    2/ Ce que tu cherches c'est une configuration, pourquoi ne pas faire comme tous les jeux, une première interface ou tu configures puis cliquer sur un bouton "jouer". Cette config peut être le choix de la diffuculté (dur-> nbcase = 20,facile -> nbcase = 9), mais aussi choix d'un thème musicale, ou la couleur du plateau ou même la saisie d'un login pour faire un historique des records par exemple, pour rendre ton jeu attractif.

    Ton main lance cette fenêtre de config puis au clique sur jouer, le controleur du bouton "jouer" va lancer la fenêtre de jeu avec les config qui vont bien.

Discussions similaires

  1. [Débutant] Tutoriels interfaces graphiques sur MATLAB
    Par patricia_zer dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 19/10/2014, 19h27
  2. Tutoriel interface graphique
    Par ManusDei dans le forum Caml
    Réponses: 6
    Dernier message: 09/02/2011, 06h43
  3. Cherche aide/tutoriel pour interface graphique
    Par bboule10 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 27/03/2007, 10h11
  4. Tutoriels interface graphique
    Par angemossiba dans le forum Delphi
    Réponses: 2
    Dernier message: 01/02/2007, 18h01

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