グラフを表示するJavaクライアントアプリケーションを作る-Part2
WebCharts3D 5.2Jでデータをグラフ化するJavaアプリケーションの作成
ダウンロード サンプルソース (8.6 KB)
実行時にグラフを3D表示にする
WebCharts3Dコントロールは、プログラム実行時に一部のプロパティの値を変更するだけでチャートの表示を動的に変更させることができます。
これは、グラフの元データとなる元モデルオブジェクトを作成し直さずに、プロパティ値の変更だけでチャートのモデルを動的に更新させる機能を持っているためです。
ためしに、フレームにチェックボックスを追加し、チェックするとその場でグラフの表示を3D化したものに変更する機能を組み込んでみます。


宣言の変更
この処理は、チェックボックスのイベントリスナーであるitemStateChangedメソッドから、WebCharts3Dコントロールの各オブジェクトを操作します。従って、いくつかのオブジェクトを、クラス「drawpanel」のメンバ変数にする必要があります。
また、JCheckBoxクラスのインスタンスを作成し、パネルに組み込む処理も行います。
1
クラス「drawpanel」の定義に、イベントリスナー「ItemListener」を追加します。
class drawpanel extends JPanel implements ActionListener, ItemListener{
2
メソッド「addChart」で、「MxComponent」クラスを宣言と同時にインスタンス化していたのを、宣言をメンバ変数の宣言に切り替えます。
また、メソッド「getWidgetStyle」で宣言と同時にインスタンス化していた「MxFrameChartStyle」クラスの宣言も、メンバ変数の宣言に切り替えます。
3
JCheckBoxクラスの宣言を追加します。
class drawpanel extends JPanel implements ActionListener, ItemListener{
private static final long serialVersionUID = 1L;
JButton button1;
JPanel pnl1;
JCheckBox check1;
MxFrameChartStyle style;
MxComponent chart;
private void addChart(javax.swing.JPanel panel) {
chart = new MxComponent();
...
...
}
private MxWidgetStyle getWidgetStyle() {
style = new MxFrameChartStyle();
...
...
}
チェックボックスを作成する
コンストラクタの中で、チェックボックスを作成します。イベントリスナーを関連付けるのを忘れないでください。
// チェックボックスの作成
check1 = new JCheckBox("3D表示");
check1.setSelected(false);
check1.addItemListener(this);
作成したら、ボタンの後にパネルに組み込みます。
this.add(check1);
そして、イベントリスナーのメソッド「itemStateChanged」を作成します。
public void itemStateChanged(ItemEvent e) {
メソッド内では、チェックボックスがチェックされているかどうかを調べ、チェックされていれば「MyChartStyle」クラス(MxFrameChartStyleクラスが継承しているクラス)のフィールド「is3D」をtrueにします。
そして、MxComponentクラスを対象にrepaintメソッドを実行すると、グラフが新しい設定で再描画されます。
if(e.getSource()==check1){
if(check1.isSelected()==true){
style.is3D = true;
chart.repaint();
チェックがはずされたときはこの逆で、フィールド「is3D」をfalseにしrepaintメソッドを実行します。
}else{
style.is3D = false;
chart.repaint();
}
}
}
まとめ
今回は、グラフの元データをxml標準形式のファイルから読み込んでグラフを作成しました。Excelのxml形式がそのまま利用できればアプリケーションの使い勝手もよくなるのですが、Excelの仕様なので仕方ありません。
それでも、VBAを使ってワークシートのデータを、WebCharts3Dコントロールのxml形式に作り直すようなマクロを作れば、ExcelのデータをJavaのアプリケーションで読み込んでグラフ化できます。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- ComponentZine(WebCharts3D)連載記事一覧
-
- グラフを表示するJavaクライアントアプリケーションを作る-Part3
- グラフを表示するJavaクライアントアプリケーションを作る-Part2
- グラフを表示するJavaクライアントアプリケーションを作る
- この記事の著者
-
瀬戸 遥(セト ハルカ)
8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

