En vue de r=E9aliser une animation gaphique, j'aimerais qu'un thread
dessine directement sur un autre composant, un JPanel par exemple.
Mais lors de l'initialisation de l'instance de SimpleTransition,
destinationGraphics est toujours null.
Est-ce que vous avez une idd=E9e pour me depanner ?
public class TransitionTesterComponent extends JPanel {
Transition transitionATester;
public TransitionTesterComponent(){
setPreferredSize(new Dimension(640,480));
transitionATester=3Dnew SimpleTransition(5000, new ImageFichier(), new
ImageFichier(), this.getGraphics());
transitionATester.start();
}
}
public class SimpleTransition extends Transition {
public abstract class Transition implements Runnable {
// Variables d'instance
// A propos de la transition - graphismes
int dureeTotale;
BufferedImage imageDebut,imageFin,imageCourante;
boolean isReady;
// A propos de la transition - gestion du temps
Thread timer;
// Constructeur
public Transition(int dureeTotale, ImageFichier image1, ImageFichier
image2,
Graphics destinationGraphics) {
// Les BufferedImages ne sont pas prets
isReady=3Dfalse;
this.dureeTotale=3DdureeTotale;
// Assigne les ImageFichier
imageFichierDebut=3Dimage1;
imageFichierFin=3Dimage2;
this.destinationGraphics=3DdestinationGraphics;
}
public void preload()
public void start()
public abstract void run();
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Hervé AGNOUX
theBrave wrote:
Est-ce que vous avez une iddée pour me depanner ?
Je pense que c'est parce que, au moment où tu fais ton getGraphics (dans le constructeur), ton contexte graphique n'existe pas. Il faut d'abord placer ton panneau quelque part - sur un écran, ou n'importe où ailleurs de graphique.
Cela se fait par l'intermédiaire d'une JFrame. Met ton panneau dans une JFrame, et à mon avis cela devrait aller mieux après.
-- Hervé AGNOUX http://www.diaam-informatique.com
theBrave wrote:
Est-ce que vous avez une iddée pour me depanner ?
Je pense que c'est parce que, au moment où tu fais ton getGraphics (dans le
constructeur), ton contexte graphique n'existe pas. Il faut d'abord placer
ton panneau quelque part - sur un écran, ou n'importe où ailleurs de
graphique.
Cela se fait par l'intermédiaire d'une JFrame. Met ton panneau dans une
JFrame, et à mon avis cela devrait aller mieux après.
Je pense que c'est parce que, au moment où tu fais ton getGraphics (dans le constructeur), ton contexte graphique n'existe pas. Il faut d'abord placer ton panneau quelque part - sur un écran, ou n'importe où ailleurs de graphique.
Cela se fait par l'intermédiaire d'une JFrame. Met ton panneau dans une JFrame, et à mon avis cela devrait aller mieux après.
-- Hervé AGNOUX http://www.diaam-informatique.com
theBrave
Gagné !
J'ai sorti l'appel a getGraphics hors du constructeur et cela marche maintenant. Merci beaucoup!
Gagné !
J'ai sorti l'appel a getGraphics hors du constructeur et cela marche
maintenant.
Merci beaucoup!