Bug d'affichage avec un JPanel transparent

Résolu/Fermé
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 26 sept. 2016 à 20:04
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 - 26 sept. 2016 à 22:09
Salut KX (nan déso, mais y a que toi ici :-p)...
Bon j'ai essayé de me prendre en main, et me suis laissé deux jours pour "essayer" de régler mon problème ... Bien sûr, j'ai pas réussi :'(.
Voilà donc je suis entrain de faire une appli (plutôt un jeu) pour un ami, fan de catch ... Un quizz, donc jusque là tout marche bien ... Mais lors ce que l'on trouve le bon nom de catcheur, je voudrais avoir un JPanel transparent qui se superpose à l'autre JPanel.. Mais le problème c'est que j'ai un malheureux bug d'affichage que voici :



: Pourquoi il y a le "Z" la bas (franchement j'étais mort de rire, tellement je ne COMPRENAIS pas ce qu'il foutait là) le code :
public void mouseReleased(MouseEvent e) {
	temp.setBorderPainted(false);
		if (word.getText().equals(answer)) {
		butPan.revalidate();
		butPan.repaint();
		game.revalidate();
		game.repaint();
		WinPanel = new WinPanel();
//		revalidate();
//		repaint();
		winPanel.setPreferredSize(getSize());
		setContentPane(winPanel);
		isKFMEnabled = true;
//		iniInfosBrowser();
	}
}

Sachant que quand j'enlève :
temp.setModel(new FixedStateButtonModel());

(qui me permet de ne pas avoir un effet bleu transparent, quand on passe au dessus des boutons) la bordure rouge disparaît :'( (ps cette bordure, est une bordure qui s'active lors du clique)

NB : les boutons-lettres sont dans l'ordre, mais j'y travaille (même si j'ai déjà un bug, pour fouiller dans l'arraylist) + je sais, rien n'est fait, je viens de finir le prototype :)

PS : pour javafx, je pense que je vais faire sans le FXMLLoader, où je demanderai ailleurs.
Et mon chat à bien bossé pour les noms de classes :)

1 réponse

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
26 sept. 2016 à 20:16
Bonjour,

Du coup ta question c'est quoi ?

Quant à ton Z qui se promène ça ressemble à un problème de repaint.

Mais sans le code pour tester ça va être dur de trouver le problème.

Remarque : normalement tu ne devrais quasiment jamais avoir besoin de faire ce genre de code :

butPan.revalidate();
butPan.repaint();
game.revalidate();
game.repaint();

...et encore moins dans un Listener qui bloque l'affichage de l'EDT donc faire des actions dessus c'est pas très propre.
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75
26 sept. 2016 à 20:32
Yep, je sais, mais j'ai fait ça dans un moment désespéré, mais je viens d'y réfléchir, en voulant faire une capture d'écran pour montrer à mon ami, j'ai voulu mettre trois fenêtre à des stades différents du "jeu" .. Et elle ne rentrer pas toute ... Et donc celle de l'écran transparent, débordé, et en voulant la repositionner je me suis aperçu que le côté qui avait débordé était devenu gris ... Donc c'est un problème d'affichage, est-ce qu'un "screenshot" de la frame, transformé en image, puis en appliquant le "filtre" de transparence suffirait ?
Bon je te laisse 1 journée pour me répondre ^^
Ps : si tu as le temps tu me dis comment on fait ? :) (sans me donner tout le code, y a aucun challenge sinon)
0
Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018 75 > Skymer Messages postés 477 Date d'inscription vendredi 6 décembre 2013 Statut Membre Dernière intervention 1 novembre 2018
26 sept. 2016 à 22:09
Edit : Enfaite, je vais faire une méthode dans le panel "Game"pour activer la transparence
0