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

3D Java Discussion :

[Java3D] Canvas3d et JScrollpane


Sujet :

3D Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut [Java3D] Canvas3d et JScrollpane
    Bonjour!

    Tout d'abord, je dois vous dire que je deviens fou avec cette histoire..

    Je m'explique, j'ai une JFrame, dans laquelle j'ai créé un canvas3d dans lequel se trouve un objet3d. Jusque la tout va bien, l'utilisateur a la possibilité d'effectuer des rotations, des zooms et des translations sur cette objet.

    C'est la que ca se complique, sachant que l'utilisateur peut faire sortir l'objet de la fenêtre si il le translate trop maladroitement, j'ai voulu installer un JScrollpane dans cette frame, histoire que ce soit plus simple, plus ergonomique.

    J'ai donc ajouté le canvas3d dans un Jscrollpane puis ajouté le JScrollpane dans la JFrame.

    Ça fonctionne, mes scrollbars apparaissent mais quand je les utilise, le repaint du canvas fonctionne mal puisque je ne vois que du gris sur les parties que je fais apparaitre en scrollant, de plus le canvas vient se superposer à ma JMenubar.. Horrible..

    Après pas mal de recherches sur le net, de multiples tests, toujours rien..

    Merci d'avance pour votre aide..

  2. #2
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Le canvas3d est une classe AWT. De fait pas hyper compatible avec le Stack Swing (notion de composants heavyweight-lightweight).

    Toutefois à partir de java6 update 12 les possibilités de mix entre AWT et Swing on été améliorées, cf http://java.sun.com/developer/techni...nts/index.html

    L'autre solution pour toi étant d'utiliser un ScrollPane AWT au lieu d'un JScrollPane.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut
    Ça va beaucoup mieux avec la classe Scrollpane sauf que désormais, mon menu refuse de s'afficher après avoir effectué un scroll..

    Merci de ton aide.

  4. #4
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Ton menu est aussi un composant lightweight par défaut, il faut donc lui indiquer qu'il doit passer en heavyweight:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonMenu.setLightWeightPopupEnabled(false);

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2010
    Messages : 47
    Par défaut
    Citation Envoyé par sinok Voir le message
    Ton menu est aussi un composant lightweight par défaut, il faut donc lui indiquer qu'il doit passer en heavyweight:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonMenu.setLightWeightPopupEnabled(false);
    Mon menu est une JMenuBar, sur quel composant je dois appliquer cette méthode?

  6. #6
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Je te conseille vraiment de lire le lien que je t'ai donné dans ma réponse initiale.

Discussions similaires

  1. [Java3d] JInternalFrame sur Canvas3d
    Par JuFromParis dans le forum 3D
    Réponses: 2
    Dernier message: 13/04/2011, 10h02
  2. Réponses: 5
    Dernier message: 03/03/2010, 15h23
  3. InternalFrame & Canvas3D sous Java3D
    Par slim_java dans le forum 3D
    Réponses: 4
    Dernier message: 03/09/2009, 21h14
  4. [java3D][collision]
    Par geofun dans le forum 3D
    Réponses: 7
    Dernier message: 12/02/2007, 14h49
  5. [Java3D] Récuperer une image à partir d'un canvas3D
    Par laurent.c123 dans le forum 3D
    Réponses: 3
    Dernier message: 05/05/2006, 18h35

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