在jcalendar中以不同颜色显示mysql数据库的日期

时间:2014-03-08 03:01:13

标签: java swing jdbc colors jcalendar

`

      Class.forName(driver);
      con = DriverManager.getConnection(url+db, user, pass);
      Statement st = con.createStatement();
      ResultSet rs=st.executeQuery("select date from profile");
      ResultSetMetaData metadata = rs.getMetaData();
      int columnCount = metadata.getColumnCount();
      Date str[] = new Date[columnCount];
      int a=0;

获取数组的日期

      while(rs.next()){

      str[a++]=rs.getDate("date");
       }

设置颜色

  Calendar cal = Calendar.getInstance();
  cal.setTime(jCalendar1.getDate());
  int day = cal.get(Calendar.DAY_OF_MONTH);
  int month = cal.get(Calendar.MONTH);
  int year = cal.get(Calendar.YEAR);

  JPanel jpanel = jCalendar1.getDayChooser().getDayPanel();
  Component component[] = jpanel.getComponents();


for(int i = 0; i < columnCount; i++)
{

     if(month == str.get(i).getMonth() && year == str.get(i).getYear())
     {

          component[ str.get(i).getDay()].setBackground(Color.blue);
     }
}

     `

我想在jcalendar中以不同的颜色显示存储在mysql数据库中的一些日期。我搜索但找不到解决方案。 我是java新手,所以我不确定这是否正确。我添加了一个代码,我已经尝试到now.it在str.get(i)中给出一个错误,因为找不到符号

1 个答案:

答案 0 :(得分:1)

将答案here与伪代码组合在一起(因为您尚未发布代码)。

  1. 将MySQL中的日期导入MySQLDataBeans列表或其他任何内容。
  2. 为这些日期设置上述答案的颜色。
  3. 这就是你所需要的一切,但如果你还在迷路,请告诉我。