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

Agents de placement/Fenêtres Java Discussion :

Probleme Swing avec AbstractAction


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut Probleme Swing avec AbstractAction
    Bonjour a tous

    Comme vous allez pouvoir vous en apercevoir, je suis débutant en java.

    J'essaye (non sans mal) de créer une petite application bureaux. J'ai une classe principale "Fenetre" qui correspond à ma charte graphique de mon application ou il se trouve un bouton du menu Jmenubar (JMenuItem).

    Sur un tutoriel de developpez.com, il mentionnait pour la gestion des évènements (actionPerformed) qu'il était préférable d'utiliser une classe hérité AbstractAction pour une meilleur organisation.

    Donc sur ce JMenuItem, je pointe vers une classe "AProposAction" qui est donc hérité de AbstractAction. Cette fenêtre me représente la fenêtre de "a propos" que l'on trouve sur toutes les applications.

    Cela fonctionne mais le souci est que j'aimerais créer une fenêtre plus évoluée que ce que je peux faire avec des images, avec l'utilisation d'un jDialog par exemple. Je ne sais pas comment faire vu que cette classe hérite déjà de AbstractAction. Java ne gère pas héritage multiple si je fais pas erreur.

    Est ce que quelqu'un sait si l'on peut faire une fenêtre plus évoluée (en intégrant des choses de swing) avec l'utilisation AbstractAction ?

    Je vous mets mon code, merci pour votre aide:

    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
     
     
    public class AProposAction extends AbstractAction {
    	private Fenetre fenetre;
            private JLabel image;
     
    	public AProposAction(Fenetre fenetre, String texte){
    		super(texte);
    		this.fenetre = fenetre;
                    JPanel panel = new JPanel();
                    panel.setLayout(new FlowLayout());
                    panel.setBackground(Color.white);
     
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		JOptionPane.showMessageDialog(fenetre, "Ce programme a été développé par Amaury Fribourg");
     
    	}
    }

  2. #2
    Membre Expert
    Avatar de visiwi
    Profil pro
    Inscrit en
    Février 2008
    Messages
    1 052
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 1 052
    Par défaut
    Salut,

    Mon point de vue est que ton action n'est pas une fenêtre mais en revanche utilisera une fenêtre. L'héritage n'a ici pas de sens et la composition est préférable.

    En admettant que tu es écris une classe/fenêtre JAProposDialog et que tu dispose d'une méthode afficherMaBelleFenetre() pour l'afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public class AProposAction extends AbstractAction {
     
    	private JAProposDialog dialog;	
     
    	public AProposAction() {
    		this.dialog = new JAProposDialog();
    	}
     
    	public void actionPerformed(ActionEvent e) {
    		this.dialog.afficherMaBelleFenetre();
    	}
    }

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

Discussions similaires

  1. probleme pour application swing avec netbaens
    Par Eric_dronet dans le forum NetBeans
    Réponses: 1
    Dernier message: 05/05/2008, 15h37
  2. [JTextAera][JScrollPane]Probleme mineur avec l'ascenseur
    Par Voxdei dans le forum Composants
    Réponses: 2
    Dernier message: 18/07/2004, 09h52
  3. [VB.NET] - Probleme Label avec Database
    Par codez dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/06/2004, 17h37
  4. probleme sql avec delphi
    Par lil_jam63 dans le forum Bases de données
    Réponses: 7
    Dernier message: 25/02/2004, 04h32
  5. probleme GRAVE avec directx 9
    Par l'arbre en plastique dans le forum DirectX
    Réponses: 3
    Dernier message: 02/09/2003, 23h59

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