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

avec Java Discussion :

Conseil esthétisme POO


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Par défaut Conseil esthétisme POO
    Bonjour,

    En Java, en général, il parait qu'il vaut mieux privilégier une variable private avec son geter et son seter par rapport à une variable public accessible par monObjet.maVariable

    Cependant, si j'ai un panel A qui contient un panel B qui contient des boutons J, K, L, etc...

    Si je veux que A réagisse au clic sur l'un des boutons de B, comment faire autrement que de déclarer mes boutons public et faire dans A :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ActionPerformed(ActionEvent e) {
        if(e.getSource() == B.J)...
    }
    ?

    Je ne vais pas m'amuser à faire un geter et un seter par bouton. Si?

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    Les boutons sont associés à des actions qui ont un nom. Idem tu peux associer un nom à un composant Swing.

    Sinon utilise plusieurs listeners plutôt qu'un seul listener qui écoute tous les clics de ton application
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Membre Expert

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2004
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 301
    Par défaut
    définir des "Actions" est mieux

    étendre AbstractAction et faire:

    moncomposantSwing.setAction(monAction);

    du coup, il prend tous les bons libellés, les bonnes icônes, etc.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Par défaut
    Pas mal ! ^^

    Bon, je perçois l'idée générale, mais j'ai un peu du mal à voir comment le faire concrètement.

    lorsque je crée mon bouton, j'ajoute setActionCommand("monNomDAction"), ce qui me permet d'identifier l'action par une String plutôt que par le bouton lui-même. j'ai bon?

    Mais alors, maintenant, nouveau problème : j'ai besoin de savoir si mon bouton est enfoncé ou non. Par quoi remplacer mon B.J.isSelected() ?

  5. #5
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    actionPerformed est normalement appelé quand le bouton principale a été relâché au dessus du bouton.

    Sinon il faut utiliser un MouseListener.
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    99
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 99
    Par défaut
    Désolé, j'ai pas précisé : j'utilise un JToggleButton

    Du coup, mon problème c'est que dans la classe A, j'ai besoin de connaitre l'état du bouton. Avant, j'utilisais B.J.isSelected();
    Mais si J est private, ça marche pu ^^

  7. #7
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    T'as le choix entre
    1. Tu sais que ta source est de type "toggle" donc tu cast.
    2. Tu mets un property listener sur "selected"
    3. Tu mets un item listener
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

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

Discussions similaires

  1. conseil esthétisme librairies
    Par Sharcoux dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/08/2011, 16h25
  2. Conseil Livre POO Java
    Par jeremypd dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 10/03/2008, 11h42
  3. [AS2] Conseils pour une bonne utilisation de la POO
    Par guy2004 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 9
    Dernier message: 20/03/2006, 08h24
  4. [POO] [Classe/Objet] Conseils à un débutant en POO
    Par nicocolt dans le forum Langage
    Réponses: 9
    Dernier message: 08/03/2006, 10h06
  5. [POO] Livre à conseiller
    Par Hoegaarden dans le forum Débuter
    Réponses: 5
    Dernier message: 17/08/2005, 09h47

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