• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 861
  • Last Modified:

How to display BufferedImages in tables of Applet? (Applet, JTable, DefaultTableModel, and BufferedImage)

Hi, I want to display a couple of images in a table in applet. I am pretty new to JApplet and AWT, please help me.

Those images are currently stored in a database as binaries. I guess I need to read them into BufferedImage objects. I have successifully created tables in applet using Applet, JTable, DefaultTableModel classes, unfortunately, these tables can only host String objects. When I put a BufferedImage object into a cell of the table, the reference of that object displayed instead of the picture. Casting seems not working. I also tried a JLabel (since it's simple), no luck. So am I using wrong classes, or is there an additional layer need to be created between the table and picture?

Could you give me a sample code for this purpose?

Thanks a lot and have a good weekend.

D.
0
ds869
Asked:
ds869
  • 8
  • 8
2 Solutions
 
CEHJCommented:
If you make the getColumnClass of your model return ImageIcon, that should do it
0
 
objectsCommented:
Try adding ImageIcon's to your table.

0
 
objectsCommented:
> If you make the getColumnClass of your model return ImageIcon, that should do it

No that definitely won't work.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
objectsCommented:
0
 
objectsCommented:
That example actually does more than you need but should give you the basic idea.
Just remove the bits you don't need if u want
0
 
CEHJCommented:
>>No that definitely won't work.

It does, as the following demonstrates:



import javax.swing.*;
import javax.swing.table.*;
import java.awt.*;

public class JTableDemo extends JFrame {
      JTable table;


      public JTableDemo() {
            Object[][] data = new Object[1][2];
            data[0][0] = new ImageIcon("..\\next.gif");
            data[0][1] = new ImageIcon("..\\next.gif");
            String[] columnNames = {"Image1", "Image2"};

            DefaultTableModel model =
                  new DefaultTableModel(data, columnNames) {
                        public Class getColumnClass(int index) {
                              return ImageIcon.class;
                        }
                  };
            table = new JTable(model);
            JScrollPane sp = new JScrollPane(table);
            getContentPane().add(sp, BorderLayout.CENTER);
      }

      public static void main(String[] args) {
            JTableDemo frame = new JTableDemo();
            frame.setDefaultCloseOperation(EXIT_ON_CLOSE);
            frame.pack();
            frame.setVisible(true);
      }
}

0
 
objectsCommented:
> It does, as the following demonstrates:

Because you are adding ImageIcons as I already suggested :)
0
 
CEHJCommented:
LOL - you suggested adding them to the table. They should be added to the model. Naturally they've got to come from somewhere
0
 
objectsCommented:
please don't go twisting my words (yet again) the example I posted demonstrated exactly what I meant.
Which you have simply duplicated probably after realizing that just setting the column class was not sufficient.
0
 
CEHJCommented:
>>...after realizing that just setting the column class was not sufficient

ROTFL. Yes of course. I was expecting ImageIcons to appear out of thin air together with their images merely by returning ImageIcon.class from getColumnClass
0
 
CEHJCommented:
...and no - i haven't even looked at your link btw
0
 
objectsCommented:
> I was expecting ImageIcons to appear out of thin air together with their images merely by returning ImageIcon.class from getColumnClass

Well thats what your comment seems to suggest, I was just correcting it.
And as you appear to agree with my correction I'm not sure what your being argumentative about.
0
 
CEHJCommented:
These were your words:

>>Try adding ImageIcon's to your table.

So how is


>>you suggested adding them to the table. They should be added to the model.

'twisting' them?
0
 
ds869Author Commented:
Thanks guys.

Object's 'Try adding ImageIcon's to your table' is the 'official' answer to my question, and CEHJ's sample code is easier to copy and paste.

Have a good day.
0
 
CEHJCommented:
>>Object's 'Try adding ImageIcon's to your table' is the 'official' answer to my question

Shouldn't be as it's wrong ;-)  But thanks.
0
 
objectsCommented:
> Shouldn't be as it's wrong ;-)  

Must work by magic then :-D
0
 
CEHJCommented:
As i've had to explain here before 'working' is not synonymous with right.
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 8
  • 8
Tackle projects and never again get stuck behind a technical roadblock.
Join Now