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

SWT/JFace Java Discussion :

SWT.Close controller si sélectionné


Sujet :

SWT/JFace Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Par défaut SWT.Close controller si sélectionné
    Bonjour,

    Je suis débutant en SWT.
    Je n'ai pas encore trop compris ce que cette instruction veut dire:

    shell = new Shell(display, SWT.CLOSE | SWT.MIN);

    Je pensais que ça faisait en sorte qu'une fenêtre soit ouverte avec les boutons typiques closes et minimise d'une fenêtre.
    Cependant, en enlevant la partie SWT.CLOSE, la fenêtre continue à avoir le bouton de fermeture de fenêtre.

    1 - Comment faire pour avoir une fenêtre dans le bouton "close"
    2 - Ayant une fenêtre avec le bouton "close" comment est-ce que je peux controler si l'utilisateur appui ou non avec la souris dessus? (de façon à affichier un message de confirmation)

    merci

  2. #2
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Par défaut
    Pour le 2ème point, j'ai résolu (la méthode confirm retourne true or false en dépendant si l'utilisateur appui sur le bouton OK ou Cancel de la popup):

    shell.addListener(SWT.Close, new Listener() {
    public void handleEvent(Event event) {
    event.doit = confirm("Are you sure that you want to quit the application?");
    }
    });


    Mais je ne sais toujours pas comment résoudre le premier point (ouvrir une fenêtre sans le bouton de fermeture)...

    merci

    Citation Envoyé par pjmorce Voir le message
    Bonjour,

    Je suis débutant en SWT.
    Je n'ai pas encore trop compris ce que cette instruction veut dire:

    shell = new Shell(display, SWT.CLOSE | SWT.MIN);

    Je pensais que ça faisait en sorte qu'une fenêtre soit ouverte avec les boutons typiques closes et minimise d'une fenêtre.
    Cependant, en enlevant la partie SWT.CLOSE, la fenêtre continue à avoir le bouton de fermeture de fenêtre.

    1 - Comment faire pour avoir une fenêtre dans le bouton "close"
    2 - Ayant une fenêtre avec le bouton "close" comment est-ce que je peux controler si l'utilisateur appui ou non avec la souris dessus? (de façon à affichier un message de confirmation)

    merci

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2006
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Août 2006
    Messages : 218
    Par défaut
    Pour le premier point, si tu bosses sous Windows il y a une petite blague
    (dûe à Windows et pas à SWT) : les boutons fermeture/min/max d'une fenêtre ne peuvent prendre qu'une des valeurs suivantes :
    • Aucun bouton : SWT.NONE;
    • Un bouton "fermer la fenêtre" : SWT.CLOSE;
    • Le trio "bouton réduire dans la barre des tâches/bouton agrandir/bouton fermer" dans les autres cas :
      • Si on fait SWT.MIN seulement, Windows affiche le bouton réduire actif, le bouton agrandir inactif (normal, on ne la pas demandé) et le bouton fermer !!!
      • Si on fait SWT.MAX seulement, Windows affiche le bouton réduire inactif, le bouton agrandir actif et le bouton fermer !!!
      • Si on fait SWT.MIN|SWT.MAX, Windows affiche le bouton réduire actif, le bouton agrandir actif et le bouton fermer !!!
    Morale de l'histoire : pour le prix d'un bouton agrandir ou un bouton réduire, tu as le bouton "Fermer la fenêtre" gratuitement

    Je ne sais pas si ce comportement est identique sur MacOS ou Linux.

    Laurent

  4. #4
    Membre éclairé
    Inscrit en
    Octobre 2007
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 401
    Par défaut
    Oui, c'est vrai

    d'est dommage car si je veux une fenêtre avec un bouton de minimisation mais pas de bouton de fermeture, ce n'est pas possible...

    merci

    Citation Envoyé par meddle Voir le message
    Pour le premier point, si tu bosses sous Windows il y a une petite blague
    (dûe à Windows et pas à SWT) : les boutons fermeture/min/max d'une fenêtre ne peuvent prendre qu'une des valeurs suivantes :
    • Aucun bouton : SWT.NONE;
    • Un bouton "fermer la fenêtre" : SWT.CLOSE;
    • Le trio "bouton réduire dans la barre des tâches/bouton agrandir/bouton fermer" dans les autres cas :
      • Si on fait SWT.MIN seulement, Windows affiche le bouton réduire actif, le bouton agrandir inactif (normal, on ne la pas demandé) et le bouton fermer !!!
      • Si on fait SWT.MAX seulement, Windows affiche le bouton réduire inactif, le bouton agrandir actif et le bouton fermer !!!
      • Si on fait SWT.MIN|SWT.MAX, Windows affiche le bouton réduire actif, le bouton agrandir actif et le bouton fermer !!!
    Morale de l'histoire : pour le prix d'un bouton agrandir ou un bouton réduire, tu as le bouton "Fermer la fenêtre" gratuitement

    Je ne sais pas si ce comportement est identique sur MacOS ou Linux.

    Laurent

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

Discussions similaires

  1. [SWT] quel Control dans le tableau shell.getChildren()
    Par LeBabouin dans le forum SWT/JFace
    Réponses: 4
    Dernier message: 07/10/2011, 13h24
  2. SWT et controle activeX
    Par sandytarit dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 12/01/2007, 11h15
  3. [SWT] control transparent
    Par miel_pops dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 20/09/2006, 11h03
  4. Réponses: 2
    Dernier message: 08/05/2006, 21h27
  5. sélectionner un controle
    Par ben_iap dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/11/2004, 11h26

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