我想做一个显示下载进度的进度条,把进度条放进jtable里面,像迅雷的那样,应该怎样实现啊?

解决方案 »

  1.   

    用setValueAt把进度条放进去试试,既然能放Object,进度条我想也能放吧.不过没试过.setValueAt
    public void setValueAt(Object aValue,
                           int row,
                           int column)设置表模型中 row 和 column 位置的单元格值。 
    注:列是以表视图的显示顺序,而不是以 TableModel 的列顺序指定的。这是一项重要的区别,因为在用户重新安排表中的列时,视图中给定索引处的列将更改。同时用户的操作不会影响模型的列顺序。 aValue 是一个新值。 
    参数:
    aValue - 新值
    row - 要更改的单元格所在的行
    column - 要更改的单元格所在的列
      

  2.   

    首先自己写编辑和显示类
    class MyTableCellEditor implements TableCellEditor{
      ...
      public Component getTableCellEditorComponent(JTable table,
           Object value,
           boolean isSelected,
           int row, int column) {
        return 进度条的编辑对象;
      }
      ...
    }class MyTableCellRenderer implements TableCellRenderer {
      ...
      public Component getTableCellRendererComponent(JTable table,
     Object value,
     boolean isSelected,
     boolean hasFocus,
     int row, int column) {
        return 进度条的显示对象;
      }
      ...
    }JTable table = new JTable();
    TableColumn tc = table.getColumn("进度条");
    tc.setCellEditor(new MyTableCellEditor());
    tc.setCellRenderer(new MyTableCellRenderer());
      

  3.   

    简单说就是重写table进度条列的editor和renderer