Java 达人,对于 JTable, 有一个问题想请教下。JTable里的单元格如何控制显示的内容?比如说,单元格里的内容是 "2012-09-03 21:33:14", 但是我想要只显示给用户看的是 "2012-09-03",请问这如何做到?十分感谢!

解决方案 »

  1.   

    类似这样:
    Date d=new Date();
    SimpleDateFormat sf=new SimpleDateFormat("yyyy年MM月dd日");
    System.out.println(sf.format(d));
      

  2.   

    可以截取实现了,比如你数据库存的数据是"2012-09-03 21:33:14",那么想显示成"2012-09-03"的话可以用substring进行截取:str.substring(0,11),当然字符串还有其他方法实现
      

  3.   

    哎,楼上二位说得不对哎,也许是我表达的不好?应该是 要自定义renderer   继承DefaultTableCellRenderer。
      

  4.   

    JTable显示的时候,会自动调用显示对象的toString()方法,所以楼主只要覆盖要显示对象的toString()方法就可以啦!
      

  5.   

    Format=new SimpleFormat("YYYY-MM-dd")就行了
      

  6.   

    重新定义 toString()方法,有没有例子呀
      

  7.   


    public class Date1{
    public static void main(String[] args) {
    Date t = new Date();
    t.setTime("2012-02-12 12:22:21");
    System.out.println(t.toString());
    }
    }
    class Date{
    private String time;
    public void setTime(String value){
    this.time = value;
    }
    public String getTime(){
    return time;
    }
    public String toString() {
    String date="";;
    if(!"".equals(time)){
    date=time.substring(0, 11);
    }
    return date;
    }
    }
      

  8.   

    黑锅~没事来探望下你~
    我觉得8楼的答案是可行的,如果你单元格里显示的是String,那就Date t = new Date();
    t.setTime(cell.getText());
    SimpleDateFormat f=new SimpleDateFormat("YYYY-MM-dd");
    cell.setText(f.format(t));不知道你能看到不