Je souhaiterais savoir comment aficher un image sur une fenetre
voici mes tentative
package net.ja.main;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Window;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* Charger et afficher une image dans un panel
* http://www.fobec.com/java/919/charger-afficher-une-image-dans-jpanel.html
* @author fobec 2010
*/
public class JImagePanel extends JPanel {
private Image image = null;
private Boolean stretch = true;
/**
* Constructeur
* @param image image à afficher
*/
public JImagePanel(Image image) {
this.image = image;
}
/**
* Constructeur
* @param file nom du fichier
*/
public JImagePanel(String file) {
this.image = getToolkit().getImage(file);
}
/**
* Position de l'image sur le panel
* @param stretch true: etirer l'image / false: centrer l'image
*/
public void setStretch(Boolean stretch) {
this.stretch = stretch;
}
/**
* Surcharger le dessin du composant
* @param g canvas
*/
protected void paintComponent(Graphics g) {
int x = 0;
int y = 0;
int width = 0;
int height = 0;
if (this.stretch) {
width = this.getWidth();
height = this.getHeight();
} else {
width = this.image.getWidth(this);
height = this.image.getHeight(this);
x=((this.getWidth()-width)/2);
y=((this.getHeight()-height)/2);
}
this.setLocation(20, 2);
this.setBounds(20, 20, width, height);
g.drawImage(this.image, 20, 20, 0, 0, this);
}
/**
* Exemple : jPanelImage dans un JFrame
* @param args
*/
public static void main(String[] args) {
JImagePanel imagePanel = new JImagePanel("E:/img.png");
//Centrer l'image
imagePanel.setStretch(true);
//Etirer l'image
// imagePanel.setStretch(true);
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(imagePanel);
frame.setSize(200, 400);
frame.setLocation(200, 200);
frame.setVisible(true);
}
}
mais voilas je souhaiterais avoir cest certain paramètre
j'aimerais afficher cette partie de cette image
en prennent en compte yMin yMax xMin xMax
sur cette fenêtre
en prennent en compte yPos xPos