データファイルの読み込み
データが用意できたら、WebCharts3Dコントロールに読み込ませます。
事前準備
まず、前回作成したgetModelメソッドをいったん削除(またはコメントアウト)します。
private MxStandardChartModel getModel() { ... ... }
次に、パッケージ「java.io」の各クラスを使用しますので、このパッケージをインポートしておきます。
import java.io.*;
そして、改めてgetModelメソッドを宣言しなおしますが、前回は「MxStandardChartModel」クラスのメソッドでメソッドの戻り値を宣言しましたが、今回は「MxChartModel」クラの戻り値として宣言します。
private MxChartModel getModel() { return model; }
ファイルを開く処理
最初に、データとなるxmlファイルを開きます。FileReaderクラスとBufferedReaderクラスのインスタンスを作成し、readLine()メソッドで1行ずつ改行コードを付けて読み込み、String型変数「xmldata」でに格納します。なお、ここではファイルがドライブCのルートにあるという設定になっています。
また、FileReaderクラスとBufferedReaderクラスを使う場合は、例外処理が必要になりますので注意してください。
String xmldata = ""; String buff = ""; try{ FileReader fr = new FileReader("c:\\data.xml"); BufferedReader br = new BufferedReader(fr); while((buff = br.readLine()) != null){ xmldata += buff + "\n"; } br.close(); fr.close(); }catch(FileNotFoundException er){ JOptionPane.showMessageDialog(null, "ファイルが開けません", "ファイル操作のエラー", JOptionPane.INFORMATION_MESSAGE); }catch(IOException er){ JOptionPane.showMessageDialog(null, "データが読み出せません", "ファイル操作のエラー", JOptionPane.INFORMATION_MESSAGE); }
XMLモデルを設定する
データファイルからXMLモデルを読み込んだら、これをWebCharts3Dコントロールに設定します。
使用するのは、MxChartModelクラスのfromXMLメソッドです。このメソッドは引数が2つで、最初の引数にXML表現を、2番目の引数に使用するパーサークラスを指定します。特に指定しなければnullを設定します。
これで、 xmlデータをもとにチャートモデルを作成できます。
MxChartModel model = MxChartModel.fromXML(xmldata, null); return model; }