关于JTable的显示问题已经有不少了.继续强烈建议学习理解MVC结构.
JTable的数据保存在model里边,负责显示的是TableCellRenderer(这是一个接口).Swing里边有一个DefaultTableCellRenderer(类)扩展JLabel.一般扩展这个类就可以了.在自己的扩展类里边实现
Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean cellHasFocus,int row,int col)
这个方法.这样说吧:
public class MyRendeer extends DefaultTableCellRenderer{
  public Component getTableCellRendererComponent(JTable table,Object
           value,boolean isSelected,boolean cellHasFocus,
           int row,int col)
  {//这个返回的component就是每个Table的小格子cell的负责显示的绘制器.
   //你可以返回任何component,比如CheckBox,TextField等等.不过一般是用  
   //JLabel,其中DefaultTableCellRenderer就是扩展JLable
   //其中参数中的Object就是你这一行要显示的数据,你需要将其显式转换为你 
  // 自己的类型,比如String str = (String)Object.这需要根据你model中的
  //数据对象的类型来定.row,col就是当前对象锁在的行和列.   if(col == 2){
      String strTemp = (String)Object;
      if(strTemp.length>=4){
         setBackground(Color.red);
         setForeground(Color.blue);
      } 
   
   }
...   return this;
      
  }
}这里我只是个示意,你还要考虑如果这一行的数据被选中的时候,或者hasFocus的时候应该是什么颜色,不过都是在这个方法中处理.myTable.setCellRenderer(new MyRenderer());
就可以了.