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 :

[JMenuBar] Raffraichissement fenetre principal


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut [JMenuBar] Raffraichissement fenetre principal
    Salut a tous,

    J'ai un petit souci de rafraichissement de ma fenetre principal lorsque j'ouvre le menu et que je n'effectue aucune action : les graphes de ma fenetre ne sont pas raffraichit et on observe des rectangles blancs (cf screenshot)

    Merci d'avance,

  2. #2
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Cela peut être du à un mélange de AWT et SWING. Il ne faut pas utiliser de MenuBar/Menu si le reste de ton application est construite sur Swing, mais JMenuBar/JMenu (ou le contraire, si ton application est basée sur AWT).

    Montres nous plus de code si tu veux qu'on soit plus précis.

    Bonne chance.

  3. #3
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    En fait tout est construit en swing afin d'éviter justement les mélanges
    En ce qui concerne le code, c'est un peu difficile (plus de 50000 lignes de code !) alors du coup, si tu pouvais me préciser quelle partie t'interresse.
    Merci de ta réponse!

  4. #4
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Eh bien la partie où tu construis ton menu et la partie où tu l'ajoutes à ta fenêtre, avec les variables importantes.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Quelle classe fait le dessin des graphes ?

  6. #6
    Membre éclairé Avatar de rems033
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    513
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 513
    Par défaut
    Voici le code de création :
    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
     
     // La barre des menus
        protected JMenuBar menuBar = new JMenuBar();
        protected JMenu menuOutils = new JMenu("Outils");
        protected JMenu menuUnites = new JMenu("Unites");
        protected JMenu menuAffichage = new JMenu("Affichage");
        protected JMenu menuTraitement = new JMenu("Traitement...");
        protected JMenu menuExport = new JMenu("Exporter...");
        protected JMenu menuFiltre = new JMenu("Filtres...");
        protected JMenu menuZoom = new JMenu("Zoom...");
        protected JMenu menuExtract = new JMenu("Extraction...");
        // Les items du menu Outils
        protected JCheckBoxMenuItem mFFT = new JCheckBoxMenuItem("FFT");
        protected JCheckBoxMenuItem mDelai = new JCheckBoxMenuItem("Délai");
        protected JCheckBoxMenuItem mReticule = new JCheckBoxMenuItem("Réticule");
        protected JCheckBoxMenuItem mReference = new JCheckBoxMenuItem("Picking");
        protected JCheckBoxMenuItem mDistance = new JCheckBoxMenuItem("Distance");
        protected JMenuItem mRecentrer = new JMenuItem("Recentrer");
        protected JCheckBoxMenuItem mPolarisation = new JCheckBoxMenuItem("Polarisation...");
        protected JMenuItem mSTALTA = new JMenuItem("STA/LTA");
        protected JMenuItem mZoomManuel = new JMenuItem("Zoom Manuel");
        protected JMenuItem mExportSAFIR = new JMenuItem("Fichiers binaires SAFIR");
        protected JMenuItem mExportSAC = new JMenuItem("Sismic Analysis Code (*.sac)");
        protected JMenuItem mExportText = new JMenuItem("Autres formats");
        protected JMenuItem mExportImg = new JMenuItem("Sauver image");
        protected JMenuItem mJouerSignal = new JMenuItem("Jouer le signal...");
        protected JMenuItem mReduire = new JMenuItem("Réduire");
        protected JMenuItem mExportPDF = new JMenuItem("Editer Rapport");
        protected JMenuItem mChoixVoies = new JMenuItem("Choix voies");
        protected JCheckBoxMenuItem mAfficheToutesVoies = new JCheckBoxMenuItem("Reduction");
        protected JCheckBoxMenuItem mFPasseHaut = new JCheckBoxMenuItem("Passe Haut");
        protected JCheckBoxMenuItem mFPasseBas = new JCheckBoxMenuItem("Passe Bas");
        protected JCheckBoxMenuItem mFPasseBande = new JCheckBoxMenuItem("Passe Bande");
        protected JCheckBoxMenuItem mFRejet = new JCheckBoxMenuItem("Rejet");
        protected JCheckBoxMenuItem mFixOrd = new JCheckBoxMenuItem("Fixer ordonnées");
        protected JCheckBoxMenuItem mToutesVoies = new JCheckBoxMenuItem("Toutes les voies");
        // Les items du menu Unites
        protected JCheckBoxMenuItem mPhy = new JCheckBoxMenuItem("mm/s");
        protected JCheckBoxMenuItem mElec = new JCheckBoxMenuItem("Volts");
        protected JCheckBoxMenuItem mBin = new JCheckBoxMenuItem("Binaires");
        protected JCheckBoxMenuItem cocheEnTete = new JCheckBoxMenuItem("En-tête") ;
        // Les items de selection d'affichage
        protected JCochageVoie listCochageVoies[];
        protected JMenu menuOptions = new JMenu("Options...");
    Voici le code d'ajout :
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
    setJMenuBar(this.menuBar);
     
            // Le menu fichier
            this.menuBar.add(menuOutils);
            this.menuOutils.add(mReticule);
            this.mReticule.setToolTipText("Indique les coordonnées d'un point à l'aide de la souris");
            this.menuOutils.add(mDelai);
            this.mDelai.setToolTipText("Calcul d'un intervalle de temps entre 2 valeurs cliquées a l'ecran");
            this.menuOutils.add(mReference);
            this.mReference.setToolTipText("Outils pour placer des references sur les voies");
            this.menuOutils.add(mDistance);
            this.menuOutils.addSeparator();
            this.menuOutils.add(mRecentrer);
            this.mRecentrer.setToolTipText("Recentrer le signal par rapport à sa moyenne");
            this.menuOutils.addSeparator();
     
            /* Le menu filtre */
            this.menuFiltre.add(mFPasseHaut);
            this.menuFiltre.add(mFPasseBas);
            this.menuFiltre.add(mFPasseBande);
            this.menuFiltre.add(mFRejet);
            this.menuFiltre.setEnabled(false);
            this.menuFiltre.setToolTipText("Menu de filtrage du signal temporel - Mode FFT uniquement");
     
            this.menuTraitement.add(menuFiltre);
     
            this.mFFT.setToolTipText("Trace la FFT d'un signal < 350000 pts");
            this.menuTraitement.add(mFFT);
            this.mSTALTA.setToolTipText("Calcul des ratios STA/LTA");
            this.menuTraitement.add(mSTALTA);
            this.mPolarisation.setToolTipText("Calcul des graphiques de polarisation de 3 voies");
            this.menuTraitement.add(mPolarisation);
            this.menuOutils.add(menuTraitement);
     
            /* Menu de zoom */
            this.mZoomManuel.setToolTipText("Zoom par selection clavier du fenetrage");
            this.menuZoom.add(mZoomManuel);
            this.mFixOrd.setToolTipText("Permet de fixer l'ordonnee du fenetrage du zoom");
            this.menuZoom.add(mFixOrd);
            this.mToutesVoies.setToolTipText("Applique le zoom sur l'ensemble des voies visibles");
            this.menuZoom.add(mToutesVoies);
     
            this.menuOutils.add(menuZoom);
     
            this.menuOutils.addSeparator();
     
            /* Menu deroulant d'exportation sous divers formats */
            this.mExportImg.setToolTipText("sauve l'ensemble des voies visibles sous forme d'images");
            this.menuExport.add(mExportImg);
            this.menuExtract.add(mExportSAFIR);
            this.menuExtract.add(mExportSAC);
            this.menuExtract.add(mExportText);
            this.menuExtract.setToolTipText("Outils d'extraction d'une partie du signal");
            this.menuExport.add(menuExtract);
            this.mExportPDF.setToolTipText("creation d'un rapport au format pdf");
            this.menuExport.add(mExportPDF);
            this.menuOutils.add(menuExport);
     
            this.menuOutils.add(mJouerSignal);
            this.menuOutils.add(mReduire);
     
            // Raccourci vers le menu Outils
            this.menuOutils.setMnemonic(KeyEvent.VK_ALT);
            this.menuTraitement.setMnemonic('T');
            this.menuZoom.setMnemonic('Z');
     
            // On ajoute les racourcis clavier
            // du menu traitement
            this.mFFT.setMnemonic('F');
            this.mPolarisation.setMnemonic('P');
            this.mSTALTA.setMnemonic('S');
     
            // du menu outils
            this.mDelai.setMnemonic(KeyEvent.VK_D);
            this.mReference.setMnemonic(KeyEvent.VK_C);
            this.mReticule.setMnemonic(KeyEvent.VK_R);
            this.mRecentrer.setMnemonic(KeyEvent.VK_N);
     
            // du menu zoom
            this.mFixOrd.setMnemonic('X');
            this.mToutesVoies.setMnemonic('V');
            this.mZoomManuel.setMnemonic('M');
     
            // de l'item reduire
            mReduire.setMnemonic(KeyEvent.VK_E);
     
            // raccourci clavier ctrl+F10
            mAfficheToutesVoies.setAccelerator(KeyStroke.getKeyStroke (KeyEvent.VK_F10,InputEvent.CTRL_MASK));
     
            mDistance.addActionListener(new ActionListener()
            {
                public void actionPerformed(ActionEvent e)
                {
                    repaint();
                    if(!bDistance)
                    {
                        bDistance = true ;
                    }
                    else
                    {
                        bDistance = false ;
                        repaint();
                    }
                    if(delai.getBDelai())
                    {
                        delai.setBDelai(false) ;
                        mDelai.setSelected(false);
                        repaint();
                    }
                    if(reticule.getBReticule())
                    {
                        reticule.setBReticule(false);
                        mReticule.setSelected(false);
                        repaint();
                    }
                    if(ref.getBRef())
                    {
                        ref.setBRef(false);
                        mReference.setSelected(false);
                        fRef.dispose();
                        repaint();
                    }
                }
            });
     
    etc....

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/12/2013, 11h33
  2. Fenetre modale qui s'affiche pas et qui bloque la fenetre principal
    Par CAML dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 17/06/2008, 14h18
  3. Changer JMenuBar dans fenetre
    Par zulot dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 06/12/2007, 12h52
  4. Plantage Fenetre principal aprés FileChooser
    Par leverdeterre dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 16/02/2007, 13h51
  5. [JPROGRESSBAR] fermeture de la fenetre principal
    Par dark2 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 19/10/2006, 08h16

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