| Programmeurs, programmeuses, help me !! | |
|
+4Narwhal Elvan Dlacoke Luuna Astaroth 8 participants |
Auteur | Message |
---|
Astaroth Officier gogol roxxor
Nombre de messages : 481 Age : 36 Pseudo IG : Astaroth Madainus Date d'inscription : 20/05/2006
| Sujet: Programmeurs, programmeuses, help me !! Ven 30 Mai - 10:28 | |
| Donc je vous expose mon probleme je dois réaliser un visionneur d'image en java avec 3 boutons permettant de passer à l'image suivante à la précedente et un dernier pour realiser un diaporama de toute les images contenu dans un dossier sur le c: voila le code réaliser pour le moment (pas trouver comment ecrire l'adresse pour le moment le programme réalise un simple affichage d'une image contenu dans le dossier courant du code). J'aimerai savoir comment placer mon image bien centré dans la fenetre (elle dépace a chaque lancement) et comment ecrire une adresse en argument de la AffichageImage() et aussi comment scanner le nombre d'image contenu dans le fichier de cette adresse (c:\eltec) et aussi pourquoi les bouton ne s'affichent qu'apres un redimensionement de la fenetre de meme pour le placement de l'image. Merci d'avance.
Code :
package domotique;
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.io.*; import javax.swing.event.*; import java.net.*; import javax.swing.border.*;
public class Fenetre extends JFrame implements ActionListener { JPanel jPanel1 = new JPanel(); JButton BSuiv = new JButton(); JButton BDiap = new JButton(); JButton BPrec = new JButton();
public Fenetre() { Container leContenant = getContentPane(); leContenant.setLayout(new FlowLayout());
AffichageImage image = new AffichageImage("logo.jpg"); leContenant.add(image); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } }
private void jbInit() throws Exception {
this.setSize(new Dimension(352, 300)); this.setTitle("Diaporama"); this.setResizable(true); BSuiv.setText("Suivante"); BDiap.setText("Diaporama"); BPrec.setText("Précédente");
this.getContentPane().add(jPanel1, BorderLayout.SOUTH); jPanel1.add(BPrec, null); jPanel1.add(BDiap, null); jPanel1.add(BSuiv, null);
BPrec.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { BPrec_actionPerformed(e); } });
BDiap.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { BDiap_actionPerformed(e); } });
BSuiv.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { BSuiv_actionPerformed(e); } }); } public void actionPerformed(ActionEvent e) {
}
void BPrec_actionPerformed(ActionEvent e) { } void BDiap_actionPerformed(ActionEvent e) { } void BSuiv_actionPerformed(ActionEvent e) { }
}
// ----------------- fin classe fenetre --------------------
class AffichageImage extends Canvas { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); int largeurEcran = screenSize.width; int hauteurEcran = screenSize.height; Image image;
public AffichageImage(String url) { image = getToolkit().getImage(url); prepareImage(image, this); }
public void paint(Graphics g) { g.drawImage(image, 0, 0, this); }
public boolean imageUpdate(Image image, int info, int x, int y, int l, int h) { if ((info & (WIDTH | HEIGHT)) != 0) { setSize(l, h); getParent().getParent().getParent().getParent().setBounds((largeurEcran - l) / 2, (hauteurEcran - h) / 2, l+8, h+80 ); }
if ((info & (ALLBITS)) != 0) { repaint(); return false; } else { return true; } } }
Dernière édition par Astaroth le Ven 30 Mai - 10:34, édité 2 fois | |
|
| |
Luuna Officier Allié Né
Nombre de messages : 758 Age : 53 Pseudo IG : Luuna Mejai Guilde : LAN Date d'inscription : 15/07/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 10:30 | |
| Aieuuu, mais pourquoi tu parles mal de bon matin Bon blague a part je sais pas du tout mais je suis persuadé qu'içi tu vas trouver un poto qui va te donner la solution idéale en un tour de main ! Bon courage | |
|
| |
Elvan Dlacoke Dérangé
Nombre de messages : 418 Age : 43 Pseudo IG : Elvan Dlacoke Guilde : LAN Date d'inscription : 20/10/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 11:45 | |
| pour les fichiers déjà : http://java.developpez.com/faq/java/?page=langage_fichiers#LANGAGE_FICHIER_arborescence_fichier Pour centrer, je dirais de mettre ton image dans un conteneur en lui disant de prendre la taille maximale, et de centrer ton conteneur par rapport à la fenetre principale via un LayoutManager qui va bien (ça fait longtemps que j'ai pas swingué ! ) par contre : getParent().getParent().getParent().getParent() et si un parent n'est pas dessiné ou null ... ça plante vla, j'suis au taff là ( et je javatte ) mais j'y regarderai de plus pret ce we :p PS : va plutot sur developpez.com que sur journaldunet lol | |
|
| |
Elvan Dlacoke Dérangé
Nombre de messages : 418 Age : 43 Pseudo IG : Elvan Dlacoke Guilde : LAN Date d'inscription : 20/10/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 11:52 | |
| | |
|
| |
Narwhal Doux dingue
Nombre de messages : 89 Age : 44 Pseudo IG : Narwhal Guilde : Narwhal Date d'inscription : 23/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 11:56 | |
| T'as besoin de ca pour quand ? | |
|
| |
Palermo Psychopathe
Nombre de messages : 2452 Age : 41 Pseudo IG : Palermux Superfalus Date d'inscription : 05/06/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 12:29 | |
| Rah c'est loin pour moi Swing & AWT De souvenir, le problème des trucs non affichés au début, ça doit être un soucis de visibilité, essaie - Code:
-
Component.setVisible(true) dans le constructeur, Component étant tes composants qui posent problèmes (les boutons...) Pour un argument au démarrage du programme (pour le chemin des photos), bah pas le choix, soit tu fais un fichier ini que tu lis au démarrage, soit c'est un argument en lançant ton jar en ligne de commande (java -jar xxx.jar c:\dossierDesPhotos), tu peux faire un fichier .bat qui lance le jar, c'est plus sympa pour un utilisateur que de taper la ligne de commande à chaque fois +1 Elvan, pour nous, puristes du Java propre, le get.get.get.get, si ton prof mate le code, t'es touffu Enfin perso je sors la fouet pour un truc pareil Et utilise la balise phpbb [ code ] pour garder l'indentation stp, c'est illisible sinon | |
|
| |
Astaroth Officier gogol roxxor
Nombre de messages : 481 Age : 36 Pseudo IG : Astaroth Madainus Date d'inscription : 20/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 13:16 | |
| Pour te répondre narwal j'en ai besoin pour dans une semaine a peu pret du code et sinon merci pour votre aide j'essaierai sa apres le we | |
|
| |
Palermo Psychopathe
Nombre de messages : 2452 Age : 41 Pseudo IG : Palermux Superfalus Date d'inscription : 05/06/2006
| |
| |
Darkbanor [LAN] Barjot
Nombre de messages : 157 Age : 36 Date d'inscription : 23/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 15:27 | |
| Oé c'est un peu comme pour les ptits chien, ca mange pas de pain!! | |
|
| |
Astaroth Officier gogol roxxor
Nombre de messages : 481 Age : 36 Pseudo IG : Astaroth Madainus Date d'inscription : 20/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Ven 30 Mai - 18:40 | |
| Lol palermo c'est ma fenetre exactement la meme chose ok bah sinon pour le get.get.get.get les mecs qui ont fait le prog (c'est a dire le programme que mon prof a fait pendant les vacances et qu'il a mis sois disant longtemps a faire et qui se trouve en premier resultat de recherche pour "afficher images java" sur google) disent que "etBounds() pour l'application elle-même. Notre image est tellement imbriquée que, pour remonter au niveau de l'application, l'ont doit appeler une succession de getParent()..." j'ai trouvé ça bidon -_-' m'enfin | |
|
| |
Narwhal Doux dingue
Nombre de messages : 89 Age : 44 Pseudo IG : Narwhal Guilde : Narwhal Date d'inscription : 23/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 2:49 | |
| Bon, j'ai un peu bossé sur ton programme ... Pour être franc, je suis reparti de zéro, donc ne t'étonne pas si c'est différent. J'ai laissé les println dans le code pour que tu aies des log de ce qu'il se passe. Pour le fonctionnement, c'est tres simple : je t'ai mis un petit menu avec la fonction ouvrir. Un clic dessus t'ouvrirar un petit sélecteur de fichier avec lequel tu peux choisir l'image à ouvrir, n'importe où en local. A partir de ce moment là, tu pourras naviguer dans le répertoire de l'image ouverte (les fonctions suivant et precedent). La fonction diaporama, je savais pas très bien ce qu'il te fallait exactement, donc j'ai affiché toutes les image sur la page à l'arrache, à toi de modifier pour que ca fasse ce que tu souhaites. La classe est assez courte, tu verras. Désolé si le code est pas optimisé, il est tard ;) La source est disponible ici : http://www.narwhalspage.net/Diaporama.javaJ'espère que ca te conviendra et que ca fera avancer l'affaire. Vais dormir moi !!! | |
|
| |
Palermo Psychopathe
Nombre de messages : 2452 Age : 41 Pseudo IG : Palermux Superfalus Date d'inscription : 05/06/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 10:25 | |
| Bah GG narwal il devra plus bosser maintenant J'devais avoir un bmp quelque part en lançant le diaporama - Code:
-
Exception in thread "Image Fetcher 0" java.lang.OutOfMemoryError: Java heap space at java.awt.image.DataBufferInt.<init>(Unknown Source) at java.awt.image.Raster.createPackedRaster(Unknown Source) at java.awt.image.DirectColorModel.createCompatibleWritableRaster(Unknown Source) at sun.awt.image.ImageRepresentation.createBufferedImage(Unknown Source) at sun.awt.image.ImageRepresentation.setPixels(Unknown Source) at sun.awt.image.ImageDecoder.setPixels(Unknown Source) at sun.awt.image.JPEGImageDecoder.sendPixels(Unknown Source) at sun.awt.image.JPEGImageDecoder.readImage(Native Method) at sun.awt.image.JPEGImageDecoder.produceImage(Unknown Source) at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source) at sun.awt.image.ImageFetcher.fetchloop(Unknown Source) at sun.awt.image.ImageFetcher.run(Unknown Source)
| |
|
| |
Narwhal Doux dingue
Nombre de messages : 89 Age : 44 Pseudo IG : Narwhal Guilde : Narwhal Date d'inscription : 23/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 10:29 | |
| Ha oui, j'avais oublié ce détail ... vaut mieux afficher des jpg.
Si il faut aussi afficher des bmp, y'aura sans doute des adaptations à faire.
Encore une fois, tout dépend de ce qu'on lui demande de faire. Mais là il a déjà une bonne base de travail je crois. J'imagine qu'il a tous les éléments en main pour adapter. | |
|
| |
Leuco Thea Admin impitoyable
Nombre de messages : 1781 Age : 45 Pseudo IG : Altariel Numenesse/LAELIA Guilde : LAN Date d'inscription : 20/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 11:27 | |
| Mici pour lui Petrou ! (parce que je sais à quel point tu aimes les fleurs) | |
|
| |
Wilo [LAN] Officier Allié Né
Nombre de messages : 345 Age : 37 Pseudo IG : Lola Terrelefeu Guilde : Musique, internet,foot américain Date d'inscription : 27/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 14:49 | |
| Hey mais je savais pas que les extra-terrestre avaient débarqué, avec leur langage en plus | |
|
| |
Astaroth Officier gogol roxxor
Nombre de messages : 481 Age : 36 Pseudo IG : Astaroth Madainus Date d'inscription : 20/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Sam 31 Mai - 15:15 | |
| Merci Petrou et de toute façon pour le format ça ne sera que des jpg donc pas de soucis | |
|
| |
Narwhal Doux dingue
Nombre de messages : 89 Age : 44 Pseudo IG : Narwhal Guilde : Narwhal Date d'inscription : 23/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Mer 11 Juin - 15:29 | |
| Alors ... les conclusions de ton aventure ? | |
|
| |
Astaroth Officier gogol roxxor
Nombre de messages : 481 Age : 36 Pseudo IG : Astaroth Madainus Date d'inscription : 20/05/2006
| Sujet: Re: Programmeurs, programmeuses, help me !! Mer 11 Juin - 17:50 | |
| Bin quelques modifications apportées a ton code comme un filtre pour n'ouvrir que les images et pas les fichier comme dll ou autres bouses qui trainent mais ça roule | |
|
| |
Contenu sponsorisé
| Sujet: Re: Programmeurs, programmeuses, help me !! | |
| |
|
| |
| Programmeurs, programmeuses, help me !! | |
|