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] Shell problem


Sujet :

SWT/JFace Java

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 9
    Points : 14
    Points
    14
    Par défaut [SWT] Shell problem
    je vais centrer un shell dans l'ecran ,j'éssaye avec SWT.CENTER mais j'ai pas reussie.Qui peut m'aider
    merci d'avant


    voilà le code


    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
    public class ReviewerDialog extends Dialog {
     
        String name, mail;
     
     
        /**
         * @param parent
         */
        public ReviewerDialog(Shell parent) {
            super(parent);
     
        }
     
        /**
         * @param parent
         * @param style
         */
        public ReviewerDialog(Shell parent, int style) {
            super(parent, style);
        }
     
        /**
         * Makes the dialog visible.
         * 
         * @return
         */
        public String open() {
        Shell parent = getParent();
     
            final Shell shell = new Shell(parent, SWT.TITLE | SWT.BORDER
                | SWT.APPLICATION_MODAL);
            shell.setText("Add reviewers");
     
     
            shell.setLayout(new GridLayout(2, true));
     
            Label label = new Label(shell, SWT.NULL);
            label.setText("Please enter a name:");
     
            final Text text = new Text(shell, SWT.SINGLE | SWT.BORDER);
     
            Label label2 = new Label(shell, SWT.NULL);
            label2.setText("please enter a mail:");
     
            final Text text2 = new Text(shell, SWT.SINGLE | SWT.BORDER);
     
            final Button buttonOK = new Button(shell, SWT.PUSH);
            buttonOK.setText("Ok");
            buttonOK.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
            Button buttonCancel = new Button(shell, SWT.PUSH);
            buttonCancel.setText("Cancel");
     
            text.addListener(SWT.Modify, new Listener() {
                public void handleEvent(Event event) {
                    try {
                        name = new String(text.getText());
                        mail = new String(text2.getText());
                        buttonOK.setEnabled(true);
                    } catch (Exception e) {
                        buttonOK.setEnabled(false);
                    }
                }
            });
     
            buttonOK.addListener(SWT.Selection, new Listener() {
                public void handleEvent(Event event) {
                    shell.dispose();
                }
            });
     
            buttonCancel.addListener(SWT.Selection, new Listener() {
                public void handleEvent(Event event) {
     
                    shell.dispose();
                }
            });
     
            shell.addListener(SWT.Traverse, new Listener() {
                public void handleEvent(Event event) {
                    if (event.detail == SWT.TRAVERSE_ESCAPE)
                        event.doit = false;
                }
            });
     
            text.setText("");
            shell.pack();
            shell.open();
     
            Display display = parent.getDisplay();
            while (!shell.isDisposed()) {
                if (!display.readAndDispatch())
                    display.sleep();
            }
     
            return name;
        }
     
     
         public static void main(String[] args) { Shell shell = new Shell();
         ReviewerDialog dialog = new ReviewerDialog(shell);
     
         System.out.println(dialog.open()); }
     
    }

  2. #2
    Membre du Club
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Juin 2008
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2008
    Messages : 30
    Points : 46
    Points
    46
    Par défaut
    Bonjour,

    Si tu cherches a centrer un shell il faut récupérer la taille de l'écran et diviser par 2 pour centrer ton shell :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Monitor primary = display.getPrimaryMonitor();
    Rectangle bounds = primary.getBounds();
    Rectangle rect = shell.getBounds();
    int x = bounds.x + (bounds.width - rect.width) / 2;
    int y = bounds.y + (bounds.height - rect.height) / 2;
    shell.setLocation(x, y);
    J'espère avoir répondu a ta question.

Discussions similaires

  1. [SWT] Shell sans boutons
    Par FranT dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 02/08/2006, 14h27
  2. [SWT] SWT shell et composite
    Par Rocket dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 26/03/2006, 12h08
  3. [SWT][IHM]Probleme d'affichage des icones
    Par barbu0055 dans le forum SWT/JFace
    Réponses: 6
    Dernier message: 03/03/2006, 12h05
  4. Shell - Problème pour gérer les majuscules et minuscules
    Par claralavraie dans le forum Linux
    Réponses: 6
    Dernier message: 11/01/2006, 17h17
  5. [SWT][Editeur] Probleme avec V4All
    Par hanane_iaai dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 06/02/2005, 09h17

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