JProgressBar in JTable

Hi,

ich möchte in einer spalte einer jtable jeweils eine jprogressbar anzeigen. hat das schon mal jemand gemacht, bzw. weiss wie es geht?

in die einzelnen felde kann man ja beliebige objects (bilder, combobox, etc.) reinhängen, also müsste auch progressbar gehen.

wenn ich allerdings einfach schreibe:

JProgressBar progBar = new JProgressBar();
tblModel.addRow("...", "...", progBar);

kompiliert er anstandslos, in dem feld steht jedoch hinter her statt der progressbar sowas wie eine klassenbeschreibung:

javax.swing.JProgressB[, 0,0,0x0, invalid, alignmentX='null', ...]

kann jemand helfen? ich weiss auch nicht, ob und wo der changeListener angebracht werden muss.

gruss
christian

problem gelöst o.T.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

und wie?

gruß bonkers

Hi,
hab im Netz kein (kostenlosen!) Beispielcode dazu gefunden, aber mir ist es wenigstens gelungen, andere Beispielcodes anzupassen.

hoffe es hilf
gruss
christian

import java.awt.\*;
import javax.swing.\*;
import javax.swing.event.\*;

public class App extends JFrame implements TableModelListener
{
 public JTable jt;
 public static DownloadTableModel test;

 public MixerTest2()
 {
 super("Customer Editor Test");
 setSize(600,160);
 setDefaultCloseOperation(EXIT\_ON\_CLOSE);

 test = new DownloadTableModel();
 test.addTableModelListener(this);
 // test.dump();
 jt = new JTable(test);
 jt.setDefaultRenderer(JProgressBar.class, new DownloadTableRenderer());
 //jt.setDefaultEditor(Volume.class, new VolumeEditor());
 JScrollPane jsp = new JScrollPane(jt);
 getContentPane().add(jsp, BorderLayout.CENTER);
 }

 public void tableChanged(TableModelEvent e)
 {
 int row = e.getFirstRow();
 int column = e.getColumn();
 }


 public static void main(String args[])
 {
 App ap = new App();
 ap.setVisible(true);
 Runner r = new Runner(test);
 r.start();
 }
}

------------------------------
import java.awt.\*;
import javax.swing.\*;

public class Runner extends Thread
{
 private Object progress;
 private int pro = 0;
 private DownloadTableModel jt;

 Runner(DownloadTableModel jt)
 {
 this.jt = jt;
 }

 public void run()
 {
 while(pro = 4)
 {
 ((JProgressBar)data[r][c]).setValue(Integer.parseInt((String)value));
 }
 else
 {
 data[r][c] = value;
 }
 fireTableCellUpdated(r, c);
 }

 // A quick debugging utility to dump out the contents of our data structure
 public void dump()
 {
 for (int i = 0; i