boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006
-
1 avril 2006 à 01:32
boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006
-
2 avril 2006 à 14:48
bonjour,
je cherche à developper une visionneuse en java le problème se situe au changement d'image, lors du clique sur le bouton "suivant" par exemple je veux passer à l'image suivante mais ca marche pas...
niveau code j'utilise un Vector d'image
vect = new Vector();
vect.addElement(image1);
vect.addElement(image2);
vect.addElement(image3);
vect.addElement(image4);
j'ai des boutons dans ma JFrame et pr implémenter les évènement je fais
public class Visionneuse extends JFrame implements ActionListener
et donc apres pour passer à l'image suivante je penser faire ca mais ca marche pas
tucobouch
Messages postés194Date d'inscriptionvendredi 17 février 2006StatutMembreDernière intervention 1 mai 200950 1 avril 2006 à 08:46
Tes image1 image2 etc... c'est quoi comme objet exactement ? (Image, JLabel , etc... ?)
C'est quoi qui marche pas ? compile pas ? exception ? c'est assez repetté sur le forum d'etre clair et precis! ...
Si je crois avoir compris : voici une solution
créé par exemple un JLabelque tu places dans ta frame : un JLabel est une maniere simple d'afficher des images... (avec setIcon() ) chaque fois que tu appui sur suivant, tu changes l'image affichée par ton JLabel
/**
* On redéfini la méthode paint pour que le composant affiche
* une image.
**/
public void paint(Graphics arg0) {
Graphics2D g = (Graphics2D)arg0;
/**
* Algo permettant de calculer la taille de limage à afficher.
* Ici facteur va permettre de réduire limage selon des règles de
* proportionnalité
**/
float x = image.getWidth(null);
float y = image.getHeight(null);
facteur = 1;
if (x>y){
// Le facteur est calculé à partir de x
if (x>maxX){
facteur=x/maxX;
}
}else{
// Le facteur est calculé à partir de y
if (y>maxY){
facteur=y/maxY;
}
}
//Permet de déterminer la grandeur de limage
dx = (int) (x/facteur);
dy = (int) (y/facteur);
int ty = (maxY/2)-(dy/2);
int tx = (maxX/2)-(dx/2);
/**
* Permet dafficher limage passée en paramètre.
* Si la sourie est sur limage, alors on spécifie une couleur
* sinon on en sélectionne une autre
* avant dafficher un rectangle autour de limage
*
**/
//g.drawImage(image,tx,ty,dx,dy,this);
g.drawImage(image , tx, ty, dx, dy, this );
}
boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006 1 avril 2006 à 15:23
oui c'est ca limage ne saffiche pas quand je clique sur suivant mais je savais pas que c'était parce qu'il a déjà été mis dans la frame faut faire comment alors????
boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006 2 avril 2006 à 00:27
j'avais deja pensé metre ca dans un panel j'avais essayer mais je crois que ca marchait pas je recommencerais demain pr voir la je vais dormir je mettrai un nouveau poste pr tenir au courant.....
boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006 2 avril 2006 à 12:36
c'est bon je lai crée l'image s'affiche et quand je fais suivant il remove tout c'est bon mais il n'ajoute pas l'image après et il n'ya pas d'exception......
boudyureka
Messages postés18Date d'inscriptionjeudi 2 février 2006StatutMembreDernière intervention 5 avril 2006 2 avril 2006 à 14:41
en fait o tt debut limage s'affiche pas et des fois elle s'affiche tte seule si elle n'est pas sur les crois faut ke je bouge la fenetre ds tt les sens pr qu'elle apparaisse...mais kan je clique sur suivant l'image ne disparait pas et c'est seulement quand je bouge encore dans tous les sens qu'elle disparait cependant elle n'affiche pas la nouvelle image.....