如果给出条件,如何突出显示行表?

时间:2012-03-15 04:45:03

标签: java swing jtable renderer

我有一个由列组成的jtable:

C No, Borrower, Market, Loan, Start, Daily, Expiry

如果当前日期距离列'expiry'中的日期还有5天,我如何突出显示表格行?

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");     
            Calendar cal  = Calendar.getInstance();           
            String expDateString = sdf.format(cal.getTime()).toString();
            System.out.println(expDateString);
             String nana = tableSummary.getModel().getValueAt(row, 6).toString();
            System.out.println(nana);


            for(int i=0; i<=tableSummary.getRowCount()-1; i++){

                   if(nana.compareTo(expDateString)>=0){                           
                       rowrenderer.setBackground(Color.RED);

                   }
             }

1 个答案:

答案 0 :(得分:3)

由于您要突出显示同一行中与排位Expiry相同的每个单元格,因此您应该覆盖prepareRenderer(),如example所示,并在此Q&A中进行了讨论。您可以使用Calendar. getInstance()的方法确定匹配的行,并且可以使用渲染器的setBackground()方法更改颜色。