Bonjour,
je recupere une image à partir d'une BD mais je ne sais pas comment faire pour l'afficher dans un canvas dans ma JFrame.
Merci.
Version imprimable
Bonjour,
je recupere une image à partir d'une BD mais je ne sais pas comment faire pour l'afficher dans un canvas dans ma JFrame.
Merci.
Bonjour,
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
35
36
37 import java.awt.*; import java.awt.image.*; public class ImageCanvas extends Canvas { Image image; public ImageCanvas(String name) { MediaTracker media = new MediaTracker(this); image = Toolkit.getDefaultToolkit().getImage(name); media.addImage(image, 0); try { media.waitForID(0); } catch (Exception e) {} } public ImageCanvas(ImageProducer imageProducer) { image = createImage(imageProducer); } public void paint(Graphics g) { g.drawImage(image, 0,0, this); } public static void main(String argv[]) { if (argv.length < 1) { System.out.println ("usage: ImageCanvas.class [image file name]"); System.exit(0); } Frame frame = new Frame(argv[0]); frame.setLayout(new BorderLayout()); frame.add("Center", new ImageCanvas(argv[0])); frame.resize(400,400); frame.show(); } }
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
35 public class ImagePanel extends JComponent { public static String IMAGE_PROPERTY = "image"; private BufferedImage image; /** * {@inheritDoc} */ @Override protected void paintComponent(Graphics g) { super.paintComponent(g); if (image != null) { Insets insets = getInsets(); Dimension size = getSize(); int width = size.width - (insets.left + insets.right); int height = size.height - (insets.top + insets.bottom); Graphics2D g2d = (Graphics2D)g.create(insets.left, insets.top, width, height); try { g2d.drawImage(image, 0, 0, null); // Redimensionner a la bonne taille si besoin. } finally { g2d.dispose(); } } } public BufferedImage getImage() { return image; } public void setImage(BufferedImage value) { BufferedImage oldValue = image; image = value; firePropertyChange(IMAGE_PROPERTY, oldValue, value); } }