Hey all,
ive been searching for a long time and i want to know how am i suppose to display an image that is stored in the database(SQL) in swings in java.
i inserted the data in the database as a image datatype(i hope thats right),now the thing is i want to display it on a JPanel or a JFrame.
i was thinking of storing it in the ImageIcon and then displaying it in a label, but how do i go about it..i mean can anyone pls help me with the actual code of displaying the image
Any help is appreciated!!Thanks in advance!!

Recommended Answers

All 6 Replies

Well you could start by this, assuming the image is in the same folder, or you can always add the path

JLabel imageLabel=new JLabel(new ImageIcon("image.*extension*"));
imageLabel.setHorizontalAlignment(JLabel.CENTER);

ok i got that much done. but after that??
i mean now how do i get the picture from a database to be loaded into that ImageIcon..
i was actually thinking of using image icon part of labels, but the place where im stuck is what to do with the result set
i mean what method do i use to set the image from the database into the image icon with the help of ResultSet object..
or if there is another method to achieve it, please do reply..

ok i got that much done. but after that??
i mean now how do i get the picture from a database to be loaded into that ImageIcon..
i was actually thinking of using ImageIcon, but the place where im stuck is what to do with the ResultSet object to get the image
i mean what method do i use to set the image from the database into the image icon with the help of ResultSet object..
or if there is another method to achieve it, please do reply..

I am not quite farmiliar with database programing in Java. But what does ResultSet return? If it is a path then you would need to include that path in the "image.jpg" area to get the image as in "//path/image.jpg". Otherwise if it returns something else (that I am not sure of) then my suggestion would be, when saving an image to the database, dont actually save the image but save a certain string/character or number to this slot. assign this number to the image and save the image in a certain directory or something. when this image is called, the character/string or number is used to look up the image in the directory. Hope this can help

....
byte []b=rs.getBytes("columnname")
ImageIcon img=new ImageIcon(b);
....

Hey i tried that but i wasnt getting the output.i mean the other data are getting displayed but the image isnt coming. I put a text as "Image:" in the label to just know where the label is, and while executing, the text just moved a little bit.
Do i have to put the image in sql as IMAGE datatype??is that right of mine code??
And is it that the image is in some other folder and that it is supposed to be in the same folder as the program or something??

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.