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

AWT/Swing Java Discussion :

Superposition de JTextPane, problème de repaint


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Points : 52
    Points
    52
    Par défaut Superposition de JTextPane, problème de repaint
    Voila, mon application superpose parfois plusieurs JTextPane, le problème se situe lorsqu'un utilisateur prend le focus sur l'un d'entre eux avec la souris, celui ci se colore en gris foncé pour indiquer qu'il est actif, le focus se place bien mais il se produit ceci :


    Très génant non ?

    J'aimerais savoir s'il existe un moyen d'empêcher cela, une sorte de définition de couche ? Faire en sorte que l'autre soit automatiquement dessiner en dessous ?

    Merci pour vos pistes éventuelles !

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Désolé, mais je ne comprend pas trop les données de départ (fin de semaine, vendredi soir, touça )
    Comment superposes-tu plusieurs JTextPane ? Avec un CardLayout ? JTabbedPane ? Ou autre ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par dinobogan Voir le message
    Désolé, mais je ne comprend pas trop les données de départ (fin de semaine, vendredi soir, touça )
    Comment superposes-tu plusieurs JTextPane ? Avec un CardLayout ? JTabbedPane ? Ou autre ?
    heuuu rien de tout ca, en fait je les dessine simplement les uns apres les autres dans un JPanel contenu dans un JScrollPane, a partir de coordonnées saisies par l'utilisateur dans un autre JScrollPane, c'est peut etre bien la le probleme ...

    En fait basiquement, je cherche un moyen de dire a mon application si JTextPane actif alors toujours le mettre au dessus

    voici une suite de screen pour illustrer un peu mieux mon probleme
    j'ai tracé deux JTextPane, le dernier tracé est en gris foncé


    je clique sur l'autre, je voudrai qu'il soit dessiner au dessus mais ce n'est pas le cas


    quand je sélectionne du texte pourtant, swing le fait passer par dessus



    Cela semble venir de l'ordre dans lequel je dessine, devrais je faire en sorte de dessiner le bloc ou je veux saisir toujours en dernier pour qu'il soit au dessus des autres ? existe t'il une autre maniere, comme une sorte de ZIndex ou quelque chose du genre ?

  4. #4
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Je pense qu'il faut utiliser les notions de ZOrder, ou de JLayerPane.

    Si tu places tes composants dans un JPanel sans autres précautions, ils sont considérés comme étant tous au même niveau, et apparaissent sur le devant - ou ce que l'on croit tel - au petit bonheur la chance.

    Cela passe bien lorsqu'ils occupent tous une place différente, ce qui est le cas la plupart du temps, mais lorsqu'ils se chevauchent, ça va plus.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 82
    Points : 52
    Points
    52
    Par défaut
    merci c'est exactement ca, avec la méthode moveToFront, mon composant se dessine bien au dessus de l'autre lorsqu'on clique dessus.

    Seul léger problème, le focus déconne, il faut cliquer une fois pour le passer au dessus, et une autre fois pour lui donner le focus ...


    Mais c'est déjà une bonne avancée, merci à toi et meilleurs voeux

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

Discussions similaires

  1. JTextPane --> Problème d'accent
    Par Invité dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 21/03/2008, 11h44
  2. probléme de repaint
    Par hayckool dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 23/10/2007, 00h49
  3. problème de repaint au dessus d'une JInternalFrame
    Par Lady dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 31/08/2007, 09h44
  4. [Débutant] [JTextPane] Problème d'affichage HTML
    Par callisto dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 11/04/2006, 13h40
  5. [Graphisme][Débutant(e)] Problème sur repaint()
    Par Katyucha dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/10/2004, 17h12

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