0

`

      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 新手,所以我不确定这是否正确。我添加了一个到目前为止我已经尝试过的代码。它在 str.get(i) 中给出了一个错误,因为找不到符号

4

1 回答 1

1

将此处的答案与伪代码结合起来(因为您尚未发布代码)。

  1. 将 MySQL 中的日期导入 MySQLDataBeans 或其他列表中。
  2. 根据上述答案为这些日期设置颜色。

这就是你所需要的,但如果你仍然迷路,请告诉我。

于 2014-03-08T03:19:05.197 回答