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

Interfaces Graphiques en Java Discussion :

comment creer une simple application graphique.


Sujet :

Interfaces Graphiques en Java

  1. #1
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut comment creer une simple application graphique.
    Salut � tous et d'avance merci � ceux qui prendront la peine de lire ce message et de me r�pondre.

    Alors voila en faite je voudrais cr�er une frame contenant un grand carre qui lui meme contient 100 boules de couleur al�atoires. Et quand je clique dessus si une de meme couleur est coll�e a elle, je voudrais qu'elle disparaissent et que les boules qui sont au dessus d'elle descendent. Sauf que j'ai pas encore trouv� comment faire, et en plus je ne sais meme pas si on peut cr�er une acionListener sur les boules . Car quand c est sur les bulles que je doit cliquer.
    En un mot le truc ue je veux faire ressemble a un jawbreaker.

    Merci a ceux qui sauront me conseiller.

  2. #2
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    Pour tes boules, tu peux tres bien les faire h�riter de JPanel pu JButton et r�d�finir la facon dont ils sont peints. Sinon pour le placement, un layout adapt� sera surement tres efficace.

    A quel niveau bloques tu exactement ?

  3. #3
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    Bah en fait je debute en java donc je connais un peu les frame, ca ca va. mais les Jbutton et les jFrame la je vois pas comment faire. J ai aussi entendu parler de Canvas mais je sais pas trop ce que c est.

    l'heritage je connais car ca fait lgt que je fais du C++.

  4. #4
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par d�faut
    J'ai un peu de mal � comprendre la grammaire de vos phrases.

    Pour ce que j'ai compris, en tout simple:
    - ecrire une class extends JPanel qui va contenir les boules et g�rer les actions et les layouts des boules.
    - le JPanel doit etre en AbsoluteLayout pour maitriser la position des boules
    - remplir le panel de JButtons (je pense que ca convient) avec dedans l'icone de la boule. On peut avoir un action listener dessus. Il faut maintenir dans un tableau les r�f�rences des buttons et leurs positions x,y dans le panel. Ainsi quand un bouton est supprim� il suffit de screener le tableau et de d�caler les boutons qui ont lieu de l'etre.

    Au lieu d'un bouton le mieux est d'utiliser une autre class qui extends jpanel aussi, d'y affecter un mouse listener, et de surcharger la m�thode paint pour dessiner le rond color� (moins de charge m�moire)

  5. #5
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    Alors je suis peu etre une tache c est possible mais la avec ce que tu me dis, je n'ai pas la moindre id�e de comment coder un truc pareil.))

  6. #6
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    La notre de grammaire ? !!!

    Sinon, tu dois cr�er une class Boule qui h�rite de JPanel (ou JButton). En red�finissant la m�thode
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    public void paintComponent(Graphics g)
    tu peux donner n'importe quel aspect graphique � ton composant.
    Par exemple tu peux dessiner un cercle, charger une image...

    Sinon pour g�r�r les positions de tes boules dans ta frame, il faut que tu utilises un Layout (bien plus propre que placer les boules en position absolue).
    Un layout est un composant charg� de placer tes objets graphiques dans ta frame. Par exemple, le GridLayout te permet de disposer tes �l�ments suivants une grille.

    Je sais pas si j'ai �t� assez clair. N'h�site pas � poser des questions.

  7. #7
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    merdi deja de prendre de ton temps pour moi.

    Mais une fois que j ai cr�� cette classe je fais comment pour cr�er le carr� qui va les contenir? Et pour leur mettre une couleur al�atoire? et si je prefere mettre une image de boule? ou je peux trouver l image de boules rouge verte bleur noire...?

    lol ca en fait des questions mais j en ai bcp dsl

  8. #8
    Membre �clair�
    Homme Profil pro
    Inscrit en
    Juillet 2002
    Messages
    705
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 705
    Par d�faut
    commence par coder le panel qui contient les boules, et � le coller dans la jframe. En te filera un coup de main � mesure.



    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    public static main(...){
    JFrame myFrame=new JFrame();
    BouleContainer monContainer=new BouleContainer(); //extends JPanel
    myFrame.getContentPane().add(monContainer);
    myFrame.setVisible(true);
    }

  9. #9
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    mais je peux pas creer simplement une frame qui cntiendra les boules??

  10. #10
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    Si mais le mieux est de passer par un composant qui contient toutes les boules. Ta frame elle ne contient que ce conteneur de boules.

  11. #11
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    C est quoi la difference entre une Jframe et une Frame car dans les deux cas elle contient toutes mes boules non?

  12. #12
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    Au d�but java ne fournissait qu'un type d'applications graphiques : AWT.
    Pour palier � certains manques de AWT, sun a cr�e SWING qui est un autre ensemble de composant gaphique. Tous les composants graphiques SWING sont pr�fix�s par un J, d'ou le JFrame. En fait une JFrame est une frame dans swing.

    Il est pr�f�rable d'utiliser SWING � AWT, donc tous tes composants doivent commencer par un J.

    J'esp�re avoir ete assez clair.

  13. #13
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    Ok donc je cr� une Frame. Ca ca va je peux y arriver. Mais ensuite je dois cr�er un tableau 2D ui contiendra mes boules je suppose. Et une fois que ca c est fait qomment je peux afficher les boules?

  14. #14
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    Tiens pour t'aider un peu, essaie de regarder ce code. Il dessine une fenetre principale (class Jeu) qui contient un conteneur de boules (BouleContainer). Enfin il y a un objet Boule. La class Boule h�rite de JPanel. Dans la m�thode paintComponent, on d�finit l'aspect graphique de la boule. Ici par exemple j'ai d�ssin� un rectangle et un cercle dans chaque objet Boule. J'esp�re que le code est assez simple et qu'il pourra t'aider.

    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
     
    public class Test {
     
    	public static void main(String args[]) throws Exception {
     
    		Jeu jeu = new Jeu();
     
     
     
    	}
    }
     
    class Jeu extends JFrame 
    {
     
    	public Jeu()
    	{
    		super("Exemple de jeu");
    		this.getContentPane().add(new BouleContainer(2,2));
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.pack();
    		this.setVisible(true);
    	}
     
    }
     
    class Boule extends JPanel
    {
     
    	public Boule()
    	{
     
    	}
     
    	public Dimension getPreferredSize()
    	{
    		return new Dimension(110,110);
    	}
    	public void paintComponent(Graphics g)
    	{
    		g.setColor(Color.RED);
    		g.drawRect(0,0,100,100);
    		g.drawOval(10,10,10,10);
    	}
    }
     
    class BouleContainer extends JPanel
    {
    	private int w;
    	private int h;
     
    	public BouleContainer(int w, int h)
    	{
    		this.w = w;
    		this.h = h;
     
    		this.setLayout(new GridLayout(this.w, this.h));
    		for(int i = 0;i < w * h;i++)
    			this.add(new Boule());
    	}
     
    }

  15. #15
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    Merci bcp pour ton code il m aidera surrement bcp, enfin il m aide deja d ailleurs.

    Je vais me pencher dessus. merci bcp pour ton aide.

  16. #16
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    De rien n'hesite pas a revenir vers nous pour n'importe quel probleme

  17. #17
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    Merci c est vraiment sympa.
    Heu une tite question mais toute tite. Tu mets svt this..... . Pourquoi tjs le mettre. Car this designe bien l objet lui meme. Ca apporte rien de plus non?

  18. #18
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    Non c'est vrai que ca n'apporte rien de plus, sauf par exemple dans le constructeur de BouleContainer pour diff�rencier la variable de classe w du param�tre w.

    Sinon, je t'ai envoy� un mail pour te dire qu'il manquait surement une classe : Joueur dans tes sources, donc si tu pouvais me l'envoyer.

  19. #19
    pug
    pug est d�connect�
    Membre habitu�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    12
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 12
    Par d�faut
    pourquoi faire une classe Joueur?

  20. #20
    Membre �prouv�
    Inscrit en
    Avril 2003
    Messages
    159
    D�tails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par d�faut
    euh d�sol� pour l'histoire de la classe Joueur, je me suis tromp� de post. Par contre la premi�re partie de ma r�ponse reste valable.

Discussions similaires

  1. [1.x] Comment creer une simple vue dans le Backend!
    Par 3logy dans le forum Symfony
    R�ponses: 3
    Dernier message: 26/06/2012, 16h29
  2. R�ponses: 8
    Dernier message: 04/01/2007, 10h15
  3. R�ponses: 6
    Dernier message: 05/12/2006, 11h05
  4. Comment creer une application dans une dll
    Par Aiekick dans le forum MFC
    R�ponses: 2
    Dernier message: 05/03/2006, 14h05

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