如题。
还有一个问题,我是吧一个Jtable放到一个JScrollPane中,当table中的数据较少时,table就不能充满JScrollpane,露出来的部分的颜色如何修改,我用jscrollpane.setBackground(...)修改不了。
谢谢。

解决方案 »

  1.   

    JTable有个方法获得列的model.然后设置列的CellRenderer,就能实现了。
    论坛中刚见了一个运用DefaultCellRenderer来实现的,代码如下:
    DefaultTableCellRenderer dtcr = new DefaultTableCellRenderer();
    dtcr.setForeground(Color.yellow);  //绘制器
    jTable1.getColumnModel().getColumn(1).setCellRenderer(dtcr);  //设置列字体颜色
    <----------------------><-----------><-------------------->
      获取ColumnModel         获取哪列     设置这列的CellRenderer你还可以自己实现,Table是根据.class来判断调用哪个CellRenderer的。所以你实现后只需要调用setDefaultCellRenderer(<?>.class x,cellRenderer xx)方法既可.
    至于你说多余的空白Table部分,那么你可以在TableModel里面把多余的部分返回一个特定类型,然后在写个实现CellRenderer接口的类,用上面说的setDefaultCellRenderer方法设置这个特定类型的显示方法即可.
      

  2.   

    jscrollpane.getViewport().setBackground(Color.white);