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

 Java Discussion :

Affichage d'une image


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut Affichage d'une image
    Salut;
    je suis débutant en java et je suis entrain de programmer une interface qui permet l'affichage d'une image Mais j'arrive pas à faire l'action sur le button "afficher" ou "annuler"

    Voici mon code:
    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    import java.awt.BorderLayout;
    import java.awt.FlowLayout;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
     
    public class Interface extends JFrame  implements ActionListener{
     
    	private JPanel p1 = new JPanel();
    	private JPanel p2 = new JPanel();
    	private JButton B1 = new JButton("Afficher");
    	private JButton B2 = new JButton("Annuler");
    	JLabel label= new JLabel();
    	public Interface(){
     
        	 this.setTitle("Afficher image");
             this.setSize(800, 500);
             this.setLocationRelativeTo(null);
             this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
             p1.setLayout(new BorderLayout ( ) ) ;
             p2.setLayout(new FlowLayout());
             p1.add(p2, BorderLayout.SOUTH);
             p2.add(B1);
             p2.add(B2);
             this.setContentPane(p1);
             this.setVisible(true);
             B1.addActionListener(new BoutonListener());
             B2.addActionListener(new BoutonListener());
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		// TODO Auto-generated method stub
     
    	}
    	public class Picture extends JPanel {
     
    		public void paintComponent(Graphics g){
                    try {
                            Image img = ImageIO.read(new File("Image.jpg"));
                            g.drawImage(img, 200, 200, this);
     
                    } catch (IOException e) {
     
                            e.printStackTrace();
                    }
     
            }
     
     
    }
    	class BoutonListener  implements ActionListener{
    		public void actionPerformed(ActionEvent e) {
    			Object source = e.getSource();
     
    			if(source == B1){ 
     
    				  //????????????     
    			}
                         else if (source == B2){
                                    //????????????     
                                }
     
    				}}}}
    Et Merci d'avance.

  2. #2
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Que n'arrives tu pas à faire? N'arrive tu pas à effacer l'image quand on clique sur le bouton effacer?

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Merci pou cette réponse rapide, en faite je n'arrive ni à la charger ou l'effacer.

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,

    la solution la plus simple et d'utiliser un JLabel et la méthode setIcon(Icon icon) au lieu de créer une nouvelle classe héritant de JPanel

    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
     
    public class Interface extends JFrame
    {
            private JLabel label= new JLabel();
            private ImageIcon img = new ImageIcon("image.jpg");
    	public Interface(){    	
        	 ....
             p1.add(label, BorderLayout.CENTER);
             ....
           }
    	class BoutonListener  implements ActionListener{
    		public void actionPerformed(ActionEvent e) {
    			Object source = e.getSource();			
    			if(source == B1){ 
    				label.setIcon(img);
    			} else if (source == B2){
    				label.setIcon(null);
    			}
     
    		}
    	}
    }

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 3
    Par défaut
    Merci infiniment, sa marche
    Mais est ce que par la méthode "set.icon" je peux lire les pixels du l'image ?

  6. #6
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    il y a la méthode getRGB(int x, int y) de la classe BufferedImage http://java.sun.com/javase/6/docs/ap...GB(int,%20int)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tomcat] Affichage d'une image
    Par david71 dans le forum Tomcat et TomEE
    Réponses: 8
    Dernier message: 15/02/2005, 11h37
  2. Réponses: 2
    Dernier message: 27/12/2004, 09h23
  3. Pbs d'affichage d'une image sur un panel
    Par ysr1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 23/09/2004, 09h55
  4. [FLASH MX] Qualité d'affichage d'une image
    Par n_tony dans le forum Flash
    Réponses: 3
    Dernier message: 16/08/2004, 09h44
  5. Affichage d'une image sous linux
    Par Braim dans le forum x86 32-bits / 64-bits
    Réponses: 5
    Dernier message: 25/03/2003, 10h41

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