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

AWT/Swing Java Discussion :

Equivalent Java d'un code C# basé sur les delegates


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 107
    Points : 132
    Points
    132
    Par défaut Equivalent Java d'un code C# basé sur les delegates
    Bonsoir,

    Je travaille sur un projet JAVA SE où je mets en place une GUI avec boutons etc.
    J'aimerais gérer mes boutons de telle sorte qu'ils stoquent les actions qu'ils devront effectuer lorsqu'ils seront relachés.
    En C#, j'aurais fait de la sorte, en utilisant les delegates :

    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
    public delegate void Action();
     
    public class Menu
    {
    	private Button button;
     
    	public Menu()
    	{
    		button = new Button(delegate()
    		{
    			this.OnActionButton();			
    		});
    	}
     
    	public void OnActionButton()
    	{
    		/* ... */
    	}
    }
     
     
    public class Button
    {
    	private Action action;
     
    	public Button(Action a)
    	{
    		action = a;
    	}
     
    	public void ExecuteAction()
    	{
    		action();
    	}
    }
    Je ne vois pas vraiment coment faire quelque chose de similaire en Java.
    Avec cette solution en C#, je pourrai utiliser mon delegate sur tous les menus et les boutons que je veux.

    Ma question est donc la suivante, comment feriez vous pour produire un résultat similaire ?

    D'avance merci pour vos réponses

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    button.addActionListener(new ActionListener(){
       public void actionPerformed(ActionEvent e){
          OnActionButton();
       }
      });
    Note: il n'y a pas en java de closure pour le moment, d'ou la nécessité de jouer avec l'interface ActionListener

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Merci pour ta réponse.
    Cependant, je fais ma propre GUI basé sur SFML, ce qui veut dire que je ne vais pas utiliser les JButton etc, je crée mes propres boutons.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Et... C'est censé changer quelque chose à la solution ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2011
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2011
    Messages : 107
    Points : 132
    Points
    132
    Par défaut
    Non en effet, désolé j'ai recherché ActionListener sur google j'ai vu du JButton de partout et je n'ai pas cherché plus loin.
    Merci à tchize_ pour sa réponse donc

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] Code pour remplir des cellules non basé sur les colonnes
    Par Philippe_shelby dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 22/01/2015, 23h46
  2. Réponses: 5
    Dernier message: 06/09/2007, 09h49
  3. [Cookies] un compteur basé sur les cookies
    Par kuja2053 dans le forum Langage
    Réponses: 5
    Dernier message: 12/03/2007, 17h28
  4. Réponses: 3
    Dernier message: 24/06/2006, 15h05
  5. Réponses: 1
    Dernier message: 30/05/2005, 17h02

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