1 pièce(s) jointe(s)
Charger une image dans JScrollPane
Pièce jointe 224612
le programme est edité avec netBeans
j'arrive pas a charger une image dans jscrollpane1
voici le code :
1 class:
Code:
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:
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:
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