我有一个显示用户活动的JSF表。如何始终显示本周的最后一天
<p:lineChart id="logins" value="#{StatisticsController.weekActivity}" legendPosition="e"
title="Weekly Logins" seriesColors="4D94FF, 1975FF, 005CE6, 0047B2" minY="0" maxY="200"/>
public class Statistics implements Serializable {
private CartesianChartModel weeksActivity;
public Statistics() {
createweeksActivity();
}
public CartesianChartModel getweekActivity() {
return weeksActivity;
}
private void createweeksActivity() {
weeksActivity = new CartesianChartModel();
ChartSeries boys = new ChartSeries();
boys.setLabel("Active Accounts");
boys.set("Monday", 120);
boys.set("Tuesday", 100);
boys.set("Wednesday", 44);
boys.set("Thursday", 150);
boys.set("Friday", 120);
boys.set("Saturday", 82);
boys.set("Sunday", 115);
ChartSeries girls = new ChartSeries();
girls.setLabel("Blocked Accounts");
girls.set("Monday", 52);
girls.set("Tuesday", 60);
girls.set("Wednesday", 110);
girls.set("Thursday", 135);
girls.set("Friday", 120);
girls.set("Saturday", 140);
girls.set("Saturday", 130);
girls.set("Sunday", 140);
weeksActivity.addSeries(boys);
weeksActivity.addSeries(girls);
}
}
我想显示当天总是最后的顺序。例如: 现在我得到这样的顺序:Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday
举例来说,如果今天是周三,我想,当我打开网页得到这个顺序:
Thursday, Friday, Saturday, Sunday, Monday, Tuesday, Wednesday
我怎么能解决这个问题?
EDIT:
我更新的代码是这样的:
private void createweeksActivity()
{
weeksActivity = new CartesianChartModel();
ChartSeries activeAccounts = new ChartSeries();
activeAccounts.setLabel("Active Accounts");
ChartSeries blockedAccounts = new ChartSeries();
blockedAccounts.setLabel("Blocked Accounts");
GregorianCalendar calendar = new GregorianCalendar();
DateFormat df = new SimpleDateFormat("EEEE");
for (int i = 0; i < 7; i++)
{
calendar.add(Calendar.DATE, 1);
System.out.println(df.format(calendar.getTime()));
activeAccounts.set(df.format(calendar.getTime()), getNumberOfLogins(df.format(calendar.getTime())));
blockedAccounts.set(df.format(calendar.getTime()), getNumberOfLogins(df.format(calendar.getTime())));
}
weeksActivity.addSeries(activeAccounts);
weeksActivity.addSeries(blockedAccounts);
}
public int getNumberOfLogins(String day){
// Get here the number of logins using SQL command
// Example: SELECT * FROM HISTORY WHERE DAY = day;
return 100;
}
我想它会成功。
+1非常干净实用:D – gtgaxiola
请您稍微扩展一下代码。我是Java新手。我需要一点解释我如何使用这段代码。 –
即时通讯+1 –