JavaFXでデスクトップ帳票アプリを作成するチュートリアル
パッケージ製品開発担当の大です。こんにちは。
今回は、シーオーリポーツビュアーJavaFX版を使用してデスクトップ帳票アプリを作成するチュートリアルです。
ウインドウにボタンと帳票を表示する枠があり、ボタンを押すとサンプルドキュメントを表示するだけの簡単なアプリケーションです。
シーオーリポーツビュアー JavaFX版は、JavaFXのコントロールとして構成されているので、手軽に自作のアプリケーションに組み込むことができます。
ここでは、NetBeansとJavaFX Scene Builderを使用して、プロジェクトを作成するところから順を追ってやってみたいと思います。
NetBeansでJavaFXプロジェクトを作成する
NetBeansを使用すると、JavaFXアプリケーションのひな形を簡単に作れます。
「ファイル>新規プロジェクト>JavaFX FXMLアプリケーション」を選択して、「次へ」をクリックします。
適当なプロジェクト名をつけて「終了」をクリックします。
出来上がったプロジェクトを実行してみると、次のようにボタンがひとつだけ配置されたウインドウが立ち上がります。
ボタンを押すと、「Hello, World!」と表示されますね。
FXMLをScene Builderで編集する
作成したプロジェクトの中に、拡張子がfxmlのファイルがあります。ダブルクリックするとScene Builderで開きますので開いてみましょう。
(ダブルクリックで開かない場合は、「ツール>オプション>Java>JavaFX」で、Scene Builderのホームが正しく参照されているか確認してみてください)。
さきほど起動したアプリケーションのレイアウトが表示されますね。
「Hello, World!」のラベルはもう必要ないので、左下の「Document」の階層からLabelを選択して、Deleteキーで削除します。
今度は、左上の「Library」の歯車アイコンをクリックして設定メニューを、「Import JAR/FXML File…」を選択してください。
シーオーリポーツビュアーJavaFX版を追加します。まだインストールしていない場合は、ダウンロードページからダウンロードして、適当な場所に展開してください。CrViewFX.jarを選択すると、以下のようにダイアログが表示されます。
「Import Component」をクリックしてダイアログを終了します。インポートが成功すると、Libraryの「Custom」セクションにCrViewが追加されます。
ドラッグ&ドロップでCrViewを配置しサイズや位置を整えます。
右側のインスペクタでプロパティを変更できます。メニューバーとツールバーは今回必要ないので消しておきましょう。「View Scale Mode」は「FIT_TO_WIDTH」に変更しておきます。
コードタブを開いて、「fx:id」に「crView」と入力します。
これでFXMLの編集は終了です。保存してScene Builderを閉じます。
NetBeansでソースを編集する
再びNetBeansに戻って、作業します。
まずはプロジェクトでJavaFX版ビュアーを使用できるようにします。プロジェクトの右クリックメニューから、「プロパティ>ライブラリ>コンパイル>JAR/フォルダの追加」で、CrViewFX.jarを選択します。
FXMLDocumentController.javaを開いて、以下のように修正しましょう。
public class FXMLDocumentController implements Initializable { @FXML private CrView crView; @FXML private void handleButtonAction(ActionEvent event) throws MalformedURLException { // ビュアーに同梱されているサンプルドキュメントのパスを指定します URL document = new URL("file:///C:/Users/demo1/Desktop/CrViewFX/sample.rsi"); crView.openDocument(document); } @Override public void initialize(URL url, ResourceBundle rb) { // TODO } }
再度実行してみます。
ボタンを押すと、サンプルの帳票が表示されましたね!
最後に
今回は、ローカルに保存されているドキュメントファイルを開くだけの簡単なアプリケーションを作成しました。
シーオーリポーツビュアーJavaFX版を使うと、このように少しの手間で自作のアプリケーションに帳票を表示する機能を追加できます。シーオーリポーツ for Javaを組み合わせることで、動的に帳票を作成して表示することもできます。作成したアプリケーションが、WindowsでもMacでも動作するのも嬉しいですね。
シーオーリポーツビュアーJavaFX版は、無償で利用でき、再配布も可能です。この機会に是非使ってみてください。