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 :

Menu non souhaité dans la barre de menu


Sujet :

SWT/JFace Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 91
    Points : 47
    Points
    47
    Par défaut Menu non souhaité dans la barre de menu
    Bonjour,

    je développe une application java en utilisant la librairie graphique SWT.

    J'aimerais ajouter une barre de menu dans mon application. Je n'ai pas de problème pour la créer seulement SWT ajoute en première position de ma barre son propre menu.

    Je ne vois pas en quoi ce menu pourrait servir aux utilisateurs de l'application et j'aimerais le retirer mais je n'ai pas trouver comment faire.

    Merci de m'éclairer si vous pouvez m'aider.

    Edit : Après quelques observations sur Eclipse je viens de me rendre compte que ce menu vient peut être du fait que je travail sur Mac OSX.
    Sur Eclipse le même menu est présent mais il se nomme Eclipse.
    A ce moment ma question devient plutôt comment modifier ce menu?
    Je vais essayer de trouver par moi même mais je suis preneur de toute information

  2. #2
    Membre expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Points : 3 919
    Points
    3 919
    Par défaut
    Salut,

    Tu pourrais nous donner le code de la création de ton menu?
    Parce que là, j'ai pas tout saisi à ton problème

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Le mieux est encore une démo en image =)

    Voici ce que j'obtiens :



    Et voici mon 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
    if(display == null) return null;
    Shell shell = new Shell(display);
    shell.setMaximized(true);
    shell.setLayout(new BorderLayout());
     
    Menu menuBar = new Menu(shell,SWT.BAR);
     
    MenuItem file = new MenuItem(menuBar,SWT.CASCADE);
    file.setText("File");
     
    Menu fileMenu = new Menu(shell,SWT.DROP_DOWN);
    file.setMenu(fileMenu);
     
    MenuItem openFile = new MenuItem(fileMenu,SWT.PUSH);
    openFile.setText("Open File...");
     
    new MenuItem(fileMenu,SWT.SEPARATOR);
     
    MenuItem save = new MenuItem(fileMenu,SWT.PUSH);
    save.setText("Save");
     
    MenuItem saveAs = new MenuItem(fileMenu,SWT.PUSH);
    saveAs.setText("Save As...");
     
     
     
    shell.setMenuBar(menuBar);

  4. #4
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    Bonjour,
    tiré des snippet swt :

    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
     
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.widgets.Display;
    import org.eclipse.swt.widgets.Label;
    import org.eclipse.swt.widgets.Menu;
    import org.eclipse.swt.widgets.MenuItem;
    import org.eclipse.swt.widgets.Shell;
     
    public class SWTMenuExample {
     
    	Display	display;
     
    	Shell	shell;
     
    	Menu	menuBar, fileMenu, helpMenu;
     
    	MenuItem	fileMenuHeader, helpMenuHeader;
     
    	MenuItem	fileExitItem, fileSaveItem, helpGetHelpItem;
     
    	Label	 label;
     
    	public SWTMenuExample() {
     
    		display = new Display();
    		shell = new Shell(display);
    		shell.setText("Menu Example");
    		shell.setSize(300, 200);
     
    		// erreur !
    		//shell.setLayout(new BorderLayout());
     
    		Menu menuBar = new Menu(shell, SWT.BAR);
     
    		MenuItem file = new MenuItem(menuBar, SWT.CASCADE);
    		file.setText("File");
     
    		Menu fileMenu = new Menu(shell, SWT.DROP_DOWN);
    		file.setMenu(fileMenu);
     
    		MenuItem openFile = new MenuItem(fileMenu, SWT.PUSH);
    		openFile.setText("Open File...");
     
    		new MenuItem(fileMenu, SWT.SEPARATOR);
     
    		MenuItem save = new MenuItem(fileMenu, SWT.PUSH);
    		save.setText("Save");
     
    		MenuItem saveAs = new MenuItem(fileMenu, SWT.PUSH);
    		saveAs.setText("Save As...");
     
    		shell.setMenuBar(menuBar);
    		shell.open();
    		while (!shell.isDisposed()) {
    			if (!display.readAndDispatch()) {
    				display.sleep();
    			}
    		}
    		display.dispose();
    	}
     
    	public static void main(final String[] args) {
    		SWTMenuExample menuExample = new SWTMenuExample();
    	}
    }
    ça fonctionne nikel, cela dit c'est bizarre que tu fasse un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shell.setLayout(new BorderLayout());
    BorderLayout provenant d'AWT ... ça devrait même pas compiler...
    essaye de lancer mon bout de code pour voir

    a+,
    jojodu31
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Le résultat est identique.

    Je pense bien que ceci vient du fait que je travail sur Mac OSX. Toute les applications sur mac possèdent en premier lieu un menu avec le nom de l'application et des informations comme celles présente dans l'image que j'ai montré plus tôt.

    Seulement je ne sais pas du tout comment le gérer.

    Pour le BorderLayout ce n'est pas une classe provenant d'AWT. J'ai réutilisé une classe proposé sur internet qui reprend le comportement de BorderLayout mais pour le SWT donc pas de problème de ce coté ci.

  6. #6
    Membre extrêmement actif Avatar de jojodu31
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Points : 814
    Points
    814
    Par défaut
    ah en effet, je ne connais pas Mac mais j'ai trouvé ceci dont voici un extrait :
    Les recommandations d'interface utilisateur pour Mac OS X indiquent qu'une application graphique possède toujours un menu spécial application menu...
    désolé je ne pourrai pas t'aider plus
    Heureux soient les fêlés, car ils laisseront passer la lumière.

    Mieux vaut fermer sa gueule et passer pour un con que l'ouvrir et ne laisser aucun doute à ce sujet.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 91
    Points : 47
    Points
    47
    Par défaut
    Ouais en fait c'est complètement ça, SWT crée déjà ce menu spécial, je vais voir si je trouve comment le modifier.

    Mais merci pour ton aide maintenant je sais où chercher !

Discussions similaires

  1. [VBA-E] Supprimer un bouton dans la barre de menu
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 19/06/2007, 17h15
  2. Réponses: 13
    Dernier message: 19/03/2007, 16h55
  3. Clignotement d'une fenêtre dans la barre de menu
    Par RR instinct dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 12/12/2006, 10h26
  4. Réponses: 2
    Dernier message: 08/06/2006, 11h09
  5. Réponses: 2
    Dernier message: 12/05/2006, 14h20

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