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

JavaFX Discussion :

Transparence et redimensionnement


Sujet :

JavaFX

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 112
    Par défaut Transparence et redimensionnement
    Bonjour, j'utilise un stage sans décorations et j'ai un problème de fond blanc qui apparaît lors du redimensionnement.

    Par exemple si je clique simplement sur le coin et que je redimensionne la fenêtre via le code (c'est pour illustrer) l'espace ajouté apparaît en blanc puis disparaît, ça ne dure que quelques dixièmes de seconde mais c'est tout de même bien visible. Donc avec un redimensionnement manuel classique j'ai en permanence des lignes blanches qui clignotent, et redimensionner la fenêtre au préalable ne fonctionne pas non plus pour la même raison.
    Donc je voudrais savoir s'il existait une solution pour régler ce problème (si ça vient bien de java et pas de mon système).

  2. #2
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Peux-tu STP nous poster un code minimaliste qui démontre le problème que je puisse tester ? Je n'ai pas de soucis pour créer un stage transparent sans delco mais je n'ai jamais implémenté les méthodes pour le redimensionner.
    As-tu mis a jour les pilotes de ta carte graphique ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 112
    Par défaut
    Avec le code suivant j'ai le même problème, forcément c'est plus léger donc c'est moins marqué et presque acceptable.

    Root.java
    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
     
    package main;
     
    import javafx.event.EventHandler;
    import javafx.scene.Cursor;
    import javafx.scene.input.MouseEvent;
    import javafx.scene.layout.Background;
    import javafx.scene.layout.BackgroundFill;
    import javafx.scene.layout.Region;
    import javafx.scene.paint.Color;
    import javafx.scene.shape.Rectangle;
     
    public final class Root extends Region implements EventHandler<MouseEvent>
    {
    	private Rectangle _corner;
    	private double _dx;
    	private double _dy;
     
    	public Root()
    	{
    		super.setBackground(new Background(new BackgroundFill(Color.GRAY, null, null)));
    		_corner = new Rectangle(20, 20, Color.BLACK);
    		_corner.addEventHandler(MouseEvent.MOUSE_ENTERED, this);
    		_corner.addEventHandler(MouseEvent.MOUSE_EXITED, this);
    		_corner.addEventHandler(MouseEvent.MOUSE_PRESSED, this);
    		_corner.addEventHandler(MouseEvent.MOUSE_DRAGGED, this);
    		super.getChildren().add(_corner);
    	}
     
    	@Override
    	public void handle(MouseEvent event)
    	{
    		if (event.getEventType() == MouseEvent.MOUSE_DRAGGED)
    		{
    			super.getScene().getWindow().setWidth(event.getSceneX() + _dx);
    			super.getScene().getWindow().setHeight(event.getSceneY() + _dy);
    		}
    		else if (event.getEventType() == MouseEvent.MOUSE_ENTERED)
    		{
    			super.getScene().setCursor(Cursor.HAND);
    		}
    		else if (event.getEventType() == MouseEvent.MOUSE_EXITED)
    		{
    			super.getScene().setCursor(Cursor.DEFAULT);
    		}
    		else
    		{
    			_dx = super.getWidth() - event.getSceneX();
    			_dy = super.getHeight() - event.getSceneY();
    		}
    	}
     
    	@Override
    	protected void layoutChildren()
    	{
    		super.layoutChildren();
    		_corner.setLayoutX(super.getWidth() - _corner.getWidth());
    		_corner.setLayoutY(super.getHeight() - _corner.getHeight());
    	}
    }
    Pour les pilotes il faut que je teste les variantes, je suis sur Linux et j'utilise les pilotes NVidia 346.96, mais je doute que ça change quoi que ce soit vu que j'ai une GTX 460.

  4. #4
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Sur Windows, meme avec ma carte vidéo toute pourrite (GeForce 210 - 341.81) ça passe sans soucis et aucune zone blanche ne s'affiche. L'affichage du redimensionnement est rapide, donc je dirai que le problème c'est soit Linux, soit OpenGL soit les pilotes (ou les 3). Je vais voir ce qu'il en est sur Mac des que possible.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 112
    Par défaut
    Chez moi ça donne ça :


    Avec les pilotes 340.93 c'est pareil, j'ai essayé de modifier quelques options aussi mais ça ne change rien.
    Enfin c'est toujours bon de savoir que ça ne vient pas du code lui-même.
    Merci pour ton aide.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 897
    Billets dans le blog
    54
    Par défaut
    Aucun soucis sur un Mac Book Pro mid-2012 avec une GeForge GT 650M et le pilote fourni avec Mac OS X El Capitan.

    Je pense que tu est bon pour aller vérifier si ces soucis font déjà l'objet de ticket(s) sur le bug systems de l'OpenJDK et si besoin le reporter sur bugs.java.com
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 112
    Par défaut
    Ok donc c'est propre à linux, ou du moins ma version, merci pour le retour.

Discussions similaires

  1. [GD] Qualité du redimensionnement passable PNG/GIF transparents
    Par max-mag dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 21/05/2010, 11h24
  2. Redimensionnement d'image et transparence
    Par psychoP@T dans le forum 2D
    Réponses: 2
    Dernier message: 04/05/2009, 10h39
  3. redimensionnement d'une JWindow
    Par mbp566 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 02/08/2002, 03h41
  4. Redimensionnement des Paquets IP sur un Réseau Local
    Par Bonoboo dans le forum Développement
    Réponses: 2
    Dernier message: 12/07/2002, 15h40
  5. Redimensionnement d'une surface
    Par Freakazoid dans le forum DirectX
    Réponses: 4
    Dernier message: 01/07/2002, 22h01

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