Nom : aRdTz.png
Affichages : 986
Taille : 9,7 Ko

le programme est edité avec netBeans
j'arrive pas a charger une image dans jscrollpane1
voici le code :

1 class:
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
 
import java.awt.*;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.*;
 
public class Draw_Image extends Canvas{
 
	BufferedImage image= null;
	//Constructeur, prend une image Buffered
	public Draw_Image(BufferedImage img){
		//copier l'image dans son attribut
		image= img;
    }
	public void paint(Graphics g){
			//Peintre le graphique g d e l'image
			g.drawImage(image,0,0,this);
 
		}
 
}
2class : class pour charger une image dans Jcrollpane1(declarer dans main class)

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
 
public class LoadImage extends JPanel{
    private String path1;
    private String path2;
    private String path3;
    Main j;
 
    private JFileChooser parcourir= new JFileChooser();
 
    BufferedImage img = null;
 
    public LoadImage(){
    parcourir.showOpenDialog(null);
        if(parcourir.showOpenDialog(null)== JFileChooser.APPROVE_OPTION){
	//récupérer image à partir du choix de l'utilisateur
	String file2= parcourir.getSelectedFile().getPath();
	path2= file2;
 
            try {
 
		 img = ImageIO.read(new File(file2));
		  Draw_Image d1= new Draw_Image(img);			
		 // d1.setSize(j.jScrollPane1.getWidth(),j.jScrollPane1.getHeight());//donner une taille à d; selon le panel englobant
 
		 jScrollPane1.removeAll();
		 jScrollPane1.add(d1);	
                  add(d1, BorderLayout.CENTER);
			        }
             catch (IOException ex) {
               // Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
                 System.out.println("err");
            }}
}
}
3 Main class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 private void jButton_Open_ImageActionPerformed(java.awt.event.ActionEvent evt) {                                                   
        new LoadImage();
    }     
 
...........
//declaration
 private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton_Open_Image;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenuBar jMenuBar1;
    protected javax.swing.JScrollPane jScrollPane1;
Merci