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

Langage Java Discussion :

Problème de scintillement, pour deux classes ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut Problème de scintillement, pour deux classes ?
    Bonjour à tous,

    J'ai un programme dans lequel j'ai dessiné un champs textarea avec le dessin du texte (avec calcul de dimension et position). Tout en absolut. et j'ai juste à côté une scrollbar que j'ai également dessiné moi-même, avec une image en fond, et une image au dessus pour représenter le bouton à déplacer.

    Voici un screen : http://gaming-vision.fr/screen.png

    Vous voyez les points de couleurs sur ma scrollbar. C'est un peu comme du scintillement. En faite quand je déplace mon bouton de scrollbar, le contenu du viewport se déplace aussi, ducoup j'ai une sorte de décalage de l'image affiché sur ma scroll bar, alors que ce sont deux classes différentes pour la scroll, et le viewport.

    J'ai mis dans un (Graphics)buffer tout ce que je dessine dans le viewport, puis je l'affiche dans le viewport, et parallement je fais pareil avec le fond de ma scrollbar.

    Je ne comprends pas, sa scintille toujours.
    Comment faire pour un double buffering ?
    Est-ca la meilleur solution ?

    merci à vous
    Si vous ne comprenez pas, n'hésitez pas à me le faire savoir

    Encore merci ;p

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 095
    Par défaut Peut-être une solution...
    Bonjour,

    Pour solutionner votre problème de scintillement, je crois qu'il vous faut utiliser un BuferredImage.
    BufferedImage imageMemoire = new BufferedImage(int largeur, int hauteur, int type), BufferedImage possède des fields définissant différents types, choisissez clui qui convient.
    Ensuite :
    Graphics2D zoneGraphique = imageMemoire.createGraphics();

    Puis,

    votreJComponent.paint(zoneGraphique);

    Le rôle du BuferredImage est de créer l'image résultante en mémoire et d'y appliquer les transformations (déplacement, mise à l'échelle etc...) avant de l'afficher à l'écran. Sans cela, vous 'verriez' se réaliser chaque transformation, ce qui se traduit par cet effet de scintillement.
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    Merci à vous

    Je ne savais pas qu'une solution aussi simple s'imposait

    Je n'ai plus assez de temps pour essayer maintenant mais j'essaierai demain.
    Je vous préviens du résultat demain.

    Merci beaucoup pour votre aide.

  4. #4
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut ça marche pô
    Bonjour à tous,

    J'ai essayé malgré la bonne mise en pratique du bufferedImage :p J'ai toujours ce soucis de scintillement. Je me demande si un doubleBuffering ne serait pas nécessaire entre le fond de la barre de scroll et le contenu du viewport ?

    Dites en moi si l'idée est bonne ?

    Merci à vous

  5. #5
    Membre émérite
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Par défaut
    Bonjour,

    j'ai cru comprendre que tu utilisais le 'null' Layout. C'est voulu?
    Il me semble bien que le ScrollPane et le null Layout ne font pas bon ménage. Et de manière générale, la pratique du nullLayout est fortement déconseillée.

  6. #6
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 095
    Par défaut Ok...
    Désolé, mais sans plus de précision de votre code, je n'ai pas d'autres idées à vous proposer. Je reste cependant attentif aux différentes réponses qui vous seront proposées. Bon courage...
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  7. #7
    Membre averti
    Homme Profil pro
    Directeur technique
    Inscrit en
    Juillet 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 31
    Par défaut
    Bonjour,

    Merci d'avoir répondu
    J'utilise en faite un JLayeredPane, que j'ai dérrivé d'une classe (DiscussionMainLayout) dans laquelle je redessine le fond et la bordure.

    ensuite j'assossi dans ma fenetre JFrame grâce à setContentPane mon JLayeredPane :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DiscussionMainLayout affichage = new DiscussionMainLayout();
    setContentPane(affichage);
    Voilà
    Alors est-ce que vous pensez que cette pratique pourrait influer sur le comportement de mon JViewPort ?

    Merci à vous

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

Discussions similaires

  1. Problème de portée entre deux classes
    Par Shikette dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 13/11/2009, 22h32
  2. Problème d'inclusion entre deux classes.
    Par XavierHWT dans le forum Débuter
    Réponses: 2
    Dernier message: 25/05/2009, 14h52
  3. Cast pour deux classe (heritage)
    Par moudz dans le forum C++
    Réponses: 1
    Dernier message: 10/04/2009, 12h25
  4. Réponses: 5
    Dernier message: 09/10/2008, 16h40
  5. Problèmes d'inclusion entre deux classes
    Par Invité dans le forum C++
    Réponses: 3
    Dernier message: 26/05/2008, 14h41

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