bonjour,
je suis confronté a un petit probleme de passage de parametre au travers d'une structure type mvc. java etant nouveau pour moi, il est possible que je soit passé a coté d'un concept evident.

Pour resumer la mise en situation :

FramePrincipale est ma frame principale dans une classe

Pan_connexion est un Jpanel appelé par la FramePrincipale (parmis d'autre)
on y trouve un bouton valider qui est abonné a un listener

Dans ma classe listener(c'est mon controleur)j'appelle mon model(et l'action a realisé--->un controle de login+MDP avec un Jdialog pour remercier l'utilisateur)

App_PanConnexion est mon model : c'est ici qu'en plus d'afficher un dialogbox je voudrai ou pas griser des options du menu contenu dans ma FramePrincipale.

MA JFRAME
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
public class FramePrincipale extends JFrame {
 
    private static final long serialVersionUID = 1L;
    private JMenuBar jJMenuBar = null;
    private JMenu jMenu2 = null;
    private JMenuItem jMenuItem2 = null;
    private JMenuItem jMenuItem111 = null;
    private JMenuItem jMenuItem121 = null;
    private JMenu jMenu14 = null;
    private JMenuItem jMenuItem18 = null;
    private JMenuItem jMenuItem131 = null;
    private JMenu jMenu111 = null;
    private JMenu jMenu121 = null;
    private JMenuItem jMenuItem141 = null;
    private JMenu jMenu131 = null;
    private JMenuItem jMenuItem161 = null;
    private JMenuItem jMenuItem171 = null;
 
    /**
     * This is the default constructor
     * @throws ClassNotFoundException 
     * @throws InstantiationException 
     * @throws IllegalAccessException 
     * @throws SQLException 
     */
    public FramePrincipale() throws SQLException, IllegalAccessException, InstantiationException, ClassNotFoundException {
        super();
        initialize();
        pack();
 
    }
 
    /**
     * This method initializes this
     * 
     * @return void
     * @throws ClassNotFoundException 
     * @throws InstantiationException 
     * @throws IllegalAccessException 
     * @throws SQLException 
     */
    private void initialize() throws SQLException, IllegalAccessException, InstantiationException, ClassNotFoundException {
        this.setSize(756, 470);
        this.setPreferredSize(new Dimension(756, 470));
        this.setResizable(false);
        this.setJMenuBar(getJJMenuBar());
        this.setTitle("A voir");
 
        this.setContentPane(new Connexion());
public JMenuBar getJJMenuBar() {
		if (jJMenuBar == null) {
			jJMenuBar = new JMenuBar();
			jJMenuBar.setPreferredSize(new Dimension(20, 20));
			jJMenuBar.add(getJMenu2());
			jJMenuBar.add(getJMenu14());
			jJMenuBar.add(getJMenu111());
			jJMenuBar.add(getJMenu121());
			jJMenuBar.add(getJMenu131());
		}
		return jJMenuBar;
	}
 
	/**
         * This method initializes jMenu2       
         *      
         * @return javax.swing.JMenu    
         */
	public JMenu getJMenu2() {
		if (jMenu2 == null) {
			jMenu2 = new JMenu();
			jMenu2.setText("Fichiers");
			jMenu2.setVerticalAlignment(SwingConstants.CENTER);
			jMenu2.add(getJMenuItem2());
			jMenu2.add(getJMenuItem111());
			jMenu2.add(getJMenuItem121());
                        jMenu2.setVisible(false);
		}
		return jMenu2;
	}
//------------------------LE CODE EST VOLONTAIREMENT TRONQUE MERCI--------//
MA VUE
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
public class Connexion extends JPanel {
 
    private JLabel jLabel = null;
    private JLabel jLabel1 = null;
    private JTextField jTextField = null;
    private JButton jButton = null;
    private JPasswordField jPasswordField = null;
    private JLabel jLabel2 = null;
 
 
    public Connexion() throws SQLException, IllegalAccessException, InstantiationException, ClassNotFoundException {
 
 
        super();
        initialize();
        addListeners();
 
    }
 
{---------------LE CODE EST ALLEGE--------------------}
public void addListeners() throws SQLException, IllegalAccessException, InstantiationException, ClassNotFoundException{
 
        Listen_Connexion listen=new Listen_Connexion(this);
        jButton.addActionListener(listen);
 
 
    }
MON CONTROLLEUR
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
public class Listen_Connexion implements   ActionListener {
    App_Connexion application;
    Connexion parent ;
 
 
 
    public Listen_Connexion(Connexion parent) throws SQLException, IllegalAccessException, InstantiationException, ClassNotFoundException {                                //Constructeur
        this.parent=parent;
 
        this.application=new App_Connexion(parent);
 
 
}
 
    public void actionPerformed(ActionEvent e) {
        Object sourceEvenement = e.getSource();
 
 
 
        if (sourceEvenement instanceof JButton){
            String labelJbut = ((JButton)sourceEvenement).getName();
 
            if(labelJbut.equals("ButVal"))
        application.Authentification();
            }
 
 
}
}
MON MODEL
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
 
public class App_Connexion {
	Connexion parent;
 
 
 
	public App_Connexion(Connexion parent){
		this.parent=parent;
 
 
	}
 
 
public void Authentification(){
	char[] password = parent.getJPasswordField().getPassword();
	  String pass="";
	  String ID=parent.getJTextField().getText();
	  for(int i=0;i<password.length;i++) pass= pass+password[i];
	  Connection conn=Access_JDBC.connecter(ID,pass);
	 try {
		if(conn.isValid(5)){Message mess = new Message("Bienvenue "+ID, "Connexion");
 
		if(ID.equals("TOTO")){
 
			//ICI JAIMERAI METTRE QUELQUE CHOSE DU TYPE    parent.getParent().getJMenu2.setvisible(true);
 
			}
 
 
		}
 
	} catch (SQLException e) {
 
		e.printStackTrace();
	}catch(NullPointerException e){
		Message mess = new Message("Connexion invalide", "Connexion");
		e.printStackTrace();
	}
 
 
 
}
}
Désolé pour la longueure du post mais j'ai bien essayé de specifier dans le constructeur de ma classe connexion le parametre d'entrée Jframe (public Connexion(FramePrincipale frame).............etc) de facon a le recuperer dans mon model et pouvoir agir sur le menu mais je n'y arrive pas!


Merci pour ceux qui arriveront a comprendre!