我有一個顯示用戶活動的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 –