wicketstuff-googlechartsを試してみる
後輩にwicketstuff-googlechartsの使い方を教えた時のサンプルコードがもったいないのであげておく。
pom.xmlにdependencyを追加
pom.xml
<dependency>
<groupId>org.wicketstuff</groupId>
<artifactId>wicketstuff-googlecharts</artifactId>
<version>6.12.0</version>
</dependency>
HomePage.html
HomePage.html
<img wicket:id="chart"></img>
<button type="button" wicket:id="refresh">更新</button>
HomePage.java
HomePage.java
public class HomePage extends WebPage {
public HomePage() {
IChartData data = new AbstractChartData() {
@Override
public double[][] getData() {
Random r = new Random();
int n = r.nextInt(10);
return new double[][] { { n, 10 - n } };
}
};
ChartProvider provider =
new ChartProvider(new Dimension(250, 100), ChartType.PIE, data);
provider.setPieLabels(new String[] { "a", "b" });
final Chart chart = new Chart("chart", provider) {
@Override
protected void onInitialize() {
super.onInitialize();
setOutputMarkupId(true);
}
};
add(chart);
add(new AjaxLink<Void>("refresh") {
@Override
public void onClick(AjaxRequestTarget target) {
chart.invalidate();
target.add(chart);
}
});
}
}
注)serialVersionUIDは省略している。
AbstractChartDataのオブジェクトでグラフに表示するデータを、ChartProviderのオブジェクトでグラフの設定(サイズや形式、ラベルなど)が設定される。
Chart#invalicate()メソッドは、Ajaxでの更新時にグラフの設定やデータを再読み込み(Google ChartsへのURLの再生成)をするために実行している。
実行結果
更新ボタン押すと、グラフが更新される。
Author And Source
この問題について(wicketstuff-googlechartsを試してみる), 我々は、より多くの情報をここで見つけました https://qiita.com/gishi_yama/items/9f361fd18d21b773c193著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .