Bonjour,
Voici mon programme :
Je charge une image dans un Jlabel et je redimmensionne mon image en fonction de mon jlabel.
Mon Jlabel a le paramètre resizable à "true"
Ce qui fait que quand j'ai bien recalculé la taille de mon Jlabel et que je l'applique à mon image, l'image s'affiche à la bonne taille mais le jlabel augmente.
Si je désactive le parametre resizable ça marche.
Mais je veux garder ce paramètre.
Mon idée est après avoir placer mon image, je veux trouver les dimensions de ma nouvelle Image pour les imposer à mon label.
label.getWidth() ne fonctionne pas car mon image est une ImageIcon.
Avez- vous une idée ?
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 static BufferedImage imgglobal = null; public static BufferedImage imgOriginal = null; public static Image imagelabel = null; public static ImageIcon imageagrandie = null; //***************************************** //*********Methods************************* public void Import_Image(){ JFileChooser chooser = new JFileChooser();//création dun nouveau filechosser chooser.setApproveButtonText("Choose this file..."); //intitulé du bouton chooser.showOpenDialog(null); //affiche la boite de dialogue try{ //file_path = chooser.getSelectedFile().getAbsolutePath(); imgglobal = ImageIO.read(new File(chooser.getSelectedFile().getAbsolutePath())); imgOriginal = ImageIO.read(new File(chooser.getSelectedFile().getAbsolutePath())); Scale_Image(); } catch (IOException e) { } } public void Scale_Image(){ int x1 = labelimg.getWidth(); int y1 = labelimg.getHeight(); imagelabel = imgglobal; imagelabel = imagelabel.getScaledInstance(x1,y1,Image.SCALE_DEFAULT); imageagrandie = new ImageIcon(imagelabel); labelimg.setIcon(imageagrandie); }
J'ai cet aspect :
Mon image fait excatement la taille du JLabel avant. Mais le bord a droite se rajoute car j'ai défini l'application en plein écran et resizable.
merci![]()
Partager