Bonjour à tous,
Je souhaiterais savoir comment on fait pour afficher une image stockée dans un BLOB (dans une base de données Oracle) dans un JPanel par exemple.
Merci
Bonjour à tous,
Je souhaiterais savoir comment on fait pour afficher une image stockée dans un BLOB (dans une base de données Oracle) dans un JPanel par exemple.
Merci
Merci de chercher dans les cours et dans la faq
http://ricky81.developpez.com/tutoriel/java/jdbc/blob/
http://java.developpez.com/faq/gui/?...E_fond_fenetre
Merci pour les différents cours proposés, j'avais d'ailleurs suivi le premier tutoriel à l'adresse http://ricky81.developpez.com/tutoriel/java/jdbc/blob/, pour pouvoir stocker et récupérer des images stockées dans des blob dans ma BDD.
Cependant, je souhaiterais afficher ses images dans un JPanel en les récupérant directement des BLOB, sans les charger au préalable dans un répertoire et donner l'URL.
Merci
La méthode read d'ImageIO peut prendre en paramètre un stream à la place d'un File...
Merci sinok pour ton aide, j'ai réussi à afficher une image provenant d'un blob dans un JPanel, je mets mon morceau de code ici dès fois que çà puisse aider quelqu'un:
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 Connection con; ResultSet rs; BufferedInputStream is = null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); } catch(Exception e) { System.out.println ("erreur"); } //connexion à la base try { String URL = "..."; String USER = "user"; String PASSWD = "pwd"; con = DriverManager.getConnection(URL,USER, PASSWD); Statement stmt = con.createStatement(); rs = stmt.executeQuery("select TYPE_BLOB from TABLE_BLOB where NOM_BLOB = 'nom_fichier'"); rs.next(); Blob blob = rs.getBlob("TYPE_BLOB"); is = new BufferedInputStream(blob.getBinaryStream()); Image raw = ImageIO.read(is); JFrame fenetre = new JFrame("Test"); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); JLabel test = new JLabel(new ImageIcon(raw)); fenetre.add(test); fenetre.pack(); fenetre.setVisible(true); } catch(Exception e) { System.out.println ("erreur: base de donnée introuvable"); }
Partager