Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1538 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JMenu et JApplet : le menu est masqué

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JMenu et JApplet : le menu est masqué

n°691841
souliane
Posté le 03-04-2004 à 19:46:29  profilanswer
 

Bonjour,
 
J'ai un JApplet et je veux lui rajouter un menu. La barre s'affiche mais quand je clique sur un JMenu il ne se déroule pas. Si je "vide" mon applet ca marche bien, mais sinon on a l'impression que le JMenu se déroule en arriere plan et qu'il est masqué par l'affichage du JApplet.
 
Exemple :
 

Code :
  1. import javax.swing.JApplet;
  2. import javax.swing.JMenuBar;
  3. import javax.swing.JMenu;
  4. import javax.swing.JMenuItem;
  5. public class Main extends JApplet {
  6. JMenuBar menuBar ;
  7. JMenu menu1 ;
  8. JMenuItem onePlayer;
  9. JMenuItem twoPlayers;
  10. Tetris tetris1 = new Tetris();
  11. Test test = new Test();
  12. public void init() {
  13.  menuBar = new JMenuBar();
  14.  menu1 = new JMenu("Jouer" );
  15.  onePlayer = new JMenuItem("1 joueur" );;
  16.  twoPlayers = new JMenuItem("2 joueurs" );
  17.  getContentPane().add(tetris1);
  18.  menu1.add(onePlayer);
  19.  menu1.add(twoPlayers);
  20.  menuBar.add(menu1);
  21.  setJMenuBar(menuBar);
  22. }
  23. }


 
Voila, par contre si je commente la ligne   getContentPane().add(tetris1); ben là mon menu s'affiche bien.
 
Dans mon exemple la classe Tetris étend elle aussi JApplet. J'ai essayé en inscrustant le menu directement dans Tetris mais le résultat est le même...
 
Si j'ai ete suffisamment clair (...) quelqu'un peut m'aider ?

mood
Publicité
Posté le 03-04-2004 à 19:46:29  profilanswer
 

n°691971
souliane
Posté le 03-04-2004 à 22:26:23  profilanswer
 

Personne n'as d'idée ? C'est un probleme assez classique je pense mais je n'arrive pas à trouver comment faire.

n°692242
nraynaud
lol
Posté le 04-04-2004 à 22:43:40  profilanswer
 

souliane a écrit :


Voila, par contre si je commente la ligne   getContentPane().add(tetris1); ben là mon menu s'affiche bien.

on peut voir le code de tetris1 ?


---------------
trainoo.com, c'est fini
n°692324
souliane
Posté le 05-04-2004 à 01:00:11  profilanswer
 

Euhhh non, je suis entrain de tout refaire...
 
Je n'ai pas vraiment résolu le probleme car je ne sais pas assez comment fonctionne swing mais c'etait une histoire de paintComponent à la place de paint. En remplacant seulement ca je voyais mon menu mais le probleme ensuite, c'etait que celui ci, lorsqu'il s'affichait, effacer ce qu'il y avait "en dessous". Il m'aurait fallu un système de calques comme dans Photoshop, sans doute avec JLayeredPane ou un truc de ce genre... Humpf, j'ai préféré tout recommencé.

n°692329
nraynaud
lol
Posté le 05-04-2004 à 01:24:33  profilanswer
 

souliane a écrit :

En remplacant seulement ca je voyais mon menu mais le probleme ensuite, c'etait que celui ci, lorsqu'il s'affichait, effacer ce qu'il y avait "en dessous". Il m'aurait fallu un système de calques comme dans Photoshop, sans doute avec JLayeredPane ou un truc de ce genre... Humpf, j'ai préféré tout recommencé.

http://java.sun.com/docs/books/tut [...] ayeredpane
 
sinon, je peux savoir ce que tu fais avec paintBidule() ? Un concours de lenteur ?
 
Tu es un suppot (et au lit) des "swing c'est lent" en train de démontrer la chose ?


---------------
trainoo.com, c'est fini
n°692335
souliane
Posté le 05-04-2004 à 01:48:12  profilanswer
 

> sinon, je peux savoir ce que tu fais avec paintBidule() ?
> Un concours de lenteur ?
 
Pourrais tu etre plus clair ?
 
> Tu es un suppot (et au lit) des "swing c'est lent" en train de
> démontrer la chose ?
 
C'est francais cette phrase !?

n°692439
nraynaud
lol
Posté le 05-04-2004 à 10:33:58  profilanswer
 

souliane a écrit :

> sinon, je peux savoir ce que tu fais avec paintBidule() ?
> Un concours de lenteur ?
 
Pourrais tu etre plus clair ?
 
> Tu es un suppot (et au lit) des "swing c'est lent" en train de
> démontrer la chose ?
 
C'est francais cette phrase !?

1) Toucher à paintBidule() c'est globalement mal, en particulier pour les débutants. Et tout est fait dans swing pour limiter au maximum l'utilisation de ça.
 
2) c'est incontestablement une suite de mots français, de là à dire que ça forme une phrase ...


---------------
trainoo.com, c'est fini
n°692474
souliane
Posté le 05-04-2004 à 11:08:03  profilanswer
 

> Toucher à paintBidule() c'est globalement mal
 
Mais ça m'a permis d'afficher mes menus (ça effacait aussi ce qu'il y avait en dessous). Et sur certains sites j'ai vu qu'il fallait utiliser paintComponent() à la place de paint() lorsqu'on passe de awt à swing...

n°692478
nraynaud
lol
Posté le 05-04-2004 à 11:14:05  profilanswer
 

souliane a écrit :

Mais ça m'a permis d'afficher mes menus (ça effacait aussi ce qu'il y avait en dessous). Et sur certains sites j'ai vu qu'il fallait utiliser paintComponent() à la place de paint() lorsqu'on passe de awt à swing...

Là n'est pas le problème. Tu l'utilise pour peindre quoi ? Dans la marche normale des choses, on ne touche pas aux fonctions de peinture.


---------------
trainoo.com, c'est fini
n°692488
souliane
Posté le 05-04-2004 à 11:26:35  profilanswer
 

Je paint des carrés et je fait des lignes, des drawString()... bon en fait je ma méthode s'appelait paintComponent() mais en l'appelant autrement, tant que ce n'était pas paint(), ça marchait aussi il me semble.

mood
Publicité
Posté le 05-04-2004 à 11:26:35  profilanswer
 

n°693043
veryfree
Posté le 06-04-2004 à 00:28:06  profilanswer
 

souliane a écrit :

Bonjour,
 
J'ai un JApplet et je veux lui rajouter un menu. La barre s'affiche mais quand je clique sur un JMenu il ne se déroule pas. Si je "vide" mon applet ca marche bien, mais sinon on a l'impression que le JMenu se déroule en arriere plan et qu'il est masqué par l'affichage du JApplet.
 
Exemple :
 

Code :
  1. import javax.swing.JApplet;
  2. import javax.swing.JMenuBar;
  3. import javax.swing.JMenu;
  4. import javax.swing.JMenuItem;
  5. public class Main extends JApplet {
  6. JMenuBar menuBar ;
  7. JMenu menu1 ;
  8. JMenuItem onePlayer;
  9. JMenuItem twoPlayers;
  10. Tetris tetris1 = new Tetris();
  11. Test test = new Test();
  12. public void init() {
  13.  menuBar = new JMenuBar();
  14.  menu1 = new JMenu("Jouer" );
  15.  onePlayer = new JMenuItem("1 joueur" );;
  16.  twoPlayers = new JMenuItem("2 joueurs" );
  17.  getContentPane().add(tetris1);
  18.  menu1.add(onePlayer);
  19.  menu1.add(twoPlayers);
  20.  menuBar.add(menu1);
  21.  setJMenuBar(menuBar);
  22. }
  23. }


 
Voila, par contre si je commente la ligne   getContentPane().add(tetris1); ben là mon menu s'affiche bien.
 
Dans mon exemple la classe Tetris étend elle aussi JApplet. J'ai essayé en inscrustant le menu directement dans Tetris mais le résultat est le même...
 
Si j'ai ete suffisamment clair (...) quelqu'un peut m'aider ?


essaye avec getContentPane().add(tetris1,"Center" ); pour voir ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JMenu et JApplet : le menu est masqué

 

Sujets relatifs
[JS] Enlever le menu du clic droit sous les navigateursmasque vb
Comment avoir les menu de Jbuilder en frtançais [résolu][Flash-XML] ou comment faire un menu dynamique ?
Variable de menu déroulant -> passé URL[asp/javascript] menu dynamique avec des images
Validation d'un formulaire par un menu déroulant .[Help][JApplet] Interaction MySQL et applet /pb simple de resulset :o
[ IHM ] - Où trouver de jolies icones de menu ?champ masqué et php
Plus de sujets relatifs à : JMenu et JApplet : le menu est masqué


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR