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 :

Aucune reaction entre objet graphiquement


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut Aucune reaction entre objet graphiquement
    Bonjour,

    voila j'ai un souci. Je desire faire un settext sur un jtextfield d'un autre objet.
    En le faisant dans l'objet lui meme par interaction d'un bouton sa marche mais quand je l'appel depuis un autre objet rien ne se passe pas meme un message d'erreur avez vous une idee de quoi cela peut venir ?
    Merci d'avance

  2. #2
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Par défaut
    lors de l'appele de la methode qui vas faire un set text est ce que tu a fait une instanciation du class ou est ce que tu as utilise une variable static

  3. #3
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Non je ne fais rien de cela

    Appel de la methode de l'objet via l'autre objet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mainframe.information("coucou");
    et la methode de l'objet qui me permettrait de changer le texte de son composant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void information(String info)
       {
    	   informations.setText("coucou");
    	   //informations.setText(info);
       }

  4. #4
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 112
    Par défaut
    es tu sur que l'objet "mainframe" est bien celui qui est visible?

  5. #5
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    J'en suis certain c ma frame.
    Dans ma frame j'ai mon jdesktoppane et mon jtextfield.

  6. #6
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 112
    Par défaut
    montre nous plus de code, les declarations de tes objects ...etc...

  7. #7
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    desole y a un probleme avec le site je ne peux poster de code ( sa fais une heure que j'essaie )avec les balises donc je vais le poste ainsi.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    *********************************************
     
    public class AppelCamion extends JPanel{
     
        public DesktopFrame mainframe;//Pour garder le focus du JDesktopPane afin de pouvoir afficher des fenêtre
     
                 public AppelCamion(DesktopFrame _frm)
        {
     
            mainframe = new DesktopFrame();
                 ....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                             mainframe.information("coucou");
     
    /*********************************************
    Et voici la methode dans l'objet DesktopFrame
    *********************************************/
     
    public void information(String info)
       {
           informations.setText("coucou");
    Voilà merci encore pour la patience et l'aide que vous m'apporte

    Malheureusement je crois avoir compris mais comment faire ?
    Je crois que sa vient du focus. J'ai essaye les methodes pour savoir si le mon jdesktoppane avait le focus et il m'indique non. Donc je crois que je dois obtenir celui ci. J'ai essayer par la methode que j'ai deja faite mais rien ne se passe.
    Si quelqu'un peut me trouver une infos ou une voie de sortie sa serait super.

    Merci d'avance

    Voilà j'ai fais des tests de focus donc

    Voici mes methodes de test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    informations.setText("coucou");
    	   KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
    	   Component owner = manager.getFocusOwner();
    	   Window active = manager.getActiveWindow();
    	   //test=this.requestFocusInWindow();
    	   System.out.print(active);
    	   System.err.print(owner);
    Et voici le resultat obtenu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    appli.DesktopFrame[frame0,0,0,1280x800,invalid,layout=java.awt.BorderLayout,title=PSA Peugeot Citroën ,resizable,normal,defaultCloseOperation=EXIT_ON_CLOSE,rootPane=javax.swing.JRootPane[,4,30,1272x766,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
     
    javax.swing.JButton[,263,234,64x26,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@19189e1,flags=296,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=14,bottom=2,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Envoi,defaultCapable=true
    Voilà en esperant que cela puisse vous etre utile

  8. #8
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 112
    Par défaut
    tu fais fausse route, il n'y a pas de focus a avoir.

    par contre change le "coucou" dans la methode information, sinon c'est sur que tu ne verras pas le changement.

    essai de mettre dans la methode information un :
    System.out.prinln( "visible? " + me.isVisible() );

    si ca marque "true" assure toi apres que l'objet "informations" est bien celui sur ta fenetre.

  9. #9
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 112
    Par défaut
    je viens de remarquer ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public AppelCamion(DesktopFrame _frm)
        {
     
            mainframe = new DesktopFrame();
    Si tu passe un DesktopFrame en parametre je pense qu'il faut l'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public AppelCamion(DesktopFrame _frm)
        {
     
            mainframe = _frm;

  10. #10
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Eclesia je te remercie enormement. Sa marche à bientôt sur un de mes prochains posts lol merci encore à toi et à tout ceux qui ont pris le temps de s'arreter sur le sujet et de s'y etre penche.

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

Discussions similaires

  1. Différence entre le positionnement relatif et absolu des objets graphiques
    Par pitizone dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 05/04/2007, 14h49
  2. Aucune distance entre les colones d'un tableau
    Par FrankOVD dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/06/2005, 13h05
  3. Réponses: 4
    Dernier message: 09/03/2005, 18h15
  4. [Swing][graphics]objets graphiques qui s'effacent
    Par TylerKnoxx dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/08/2004, 17h36
  5. Réponses: 3
    Dernier message: 09/02/2003, 02h09

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