JasperReportsでSwingでプレビュー
最近休んでましたけど、のんべんだらりんゆるゆるとSwingで色々と遊んでるんですが、やっぱり気になるのは帳票で御座居ます。
普通、Web帳票の方がイレギュラーな気がするんですけど、Javaに関しては逆で、どこ調べてもWeb帳票の事ばっかり。せっかくSwingなので、JFrame上でプレビューしたいよね、と。PDFじゃなくて。
そうなるとJooReportsじゃなくてやっぱりJasperReportsに相成る訳でして。
雑誌やWeb上の記述を見ると、Swingでプレビュー出来るって書いてあるんだけど、サンプルコードが何処にもないんだこれが。あるのかも知れないけど見つからない。Jasperのサンプルデモを見てもないんだこれが。探し方が悪いのかも知れないけど。
おっかしいなあと思ってJavaDocを眺めてみたら、うんと下の方にありましたよ、「JasperViewer」なんてそれらしい名前のクラスが。見てみたら、JFrameを継承してるし、これでビンゴじゃないかと。やったぜ。
JasperPrintオブジェクトを生成する所までは結構サンプルが転がってますんで省略、以下こんな感じ。
JasperViewer frame = new JasperViewer(jasperPrint); frame.setTitle("帳票テストでげす。"); frame.setVisible(true);
出ましたよ。拡大縮小、ページ繰り、保存印刷などなど各ボタン完備のプレビュー画面が。ばんざーいばんざーい。
しかも保存ダイアログの中で、PDF、XLS、RTF、CSV、HTMLなどなどJasperが対応してる形式に変換可能。むむーんいいじゃん、ユーザーさんに選んで貰えるんならそれが一番。
これだけの事なのに、何処にも見当たらないってのは、Swingを使った業務システムってまだまだなんですかね。ふんが。ですんで自分のためにメモ。