開く(画像)MyCanvas・MapStageクラスの作成MyCanvasクラスMapStageクラスBufferedImageをImageに変換ダイアログの作成ダイアログの実装内容MapStageの作成ポイントウィンドウの枠を計算する開く(画像)MyCanvas・MapStageクラスの作成MyCanvasクラスMyCanvasクラスはCanvasクラスを継承したクラスで、マップの描画を担当します。マップチップの幅・高さやマップの行数・列数、マップの配列(マップデータ)を保存するための変数を持ちます。MapStageクラスMapStageクラスはStageクラスを継承したクラスで、マップチップの選択用ウィンドウを作成します。MapStage(this);}}MainクラスはMyCanvasクラスとMapStageクラスのインスタンス変数を持ちます。基本的には、クラスとクラスのデータの受け渡しはMainクラスを介して行います。画像を切り取って読み込むには「BufferedImage」クラスの「getSubimage」関数を用いるのですが、これはSwingの機能なので返ってくる画像は「BufferedImage」型となります。JavaFXで描画の際に使用するCanvasでは「Image」を描画することはできますが、「BufferedImage」を描画することはできません。そのため、「getSubimage」関数で取得した「BufferedImage」は「Image」に変換する必要があります。そこで、Swingの機能をJavaFXでも使いたい場合に「SwingFXUtils」クラスの関数を用います。今回は「BufferedImage」を「Image」に変換するので「toFXImage」関数を用いて変換を行います。{}});}}ダイアログの実装内容ダイアログは、新しいStageを表示することで実装します。レイアウトに関しては、「Text」を用いたテキストラベルと、「TextField」を用いた入力フォーム、そして「Button」を用いた「OK」ボタンの3つの要素で構成されます。基本的には、「インスタンス化」→「X・Y座標、幅・高さの設定」→「Stageに追加」を行い、レイアウトを作成していきます。MyDialog();}}「Main」クラスが「MyDialog」のインスタンスを持ちます。{}});}}ダイアログで入力された「幅・高さ」をマップチップの幅・高さに反映させます。MapStageの作成ポイントStageの大きさはウィンドウの枠が含まれるので、後の計算に誤差を生じてしまう可能性があります。そのため、MapStageのウィンドウの幅・高さを設定する際に、ウィンドウの枠の大きさを計算に入れます。insets.bottom;}}ウィンドウの枠を計算するウィンドウの枠は「Insets」クラスが値を保持しているため、「Insets」クラスのインスタンスから値を取得する必要があります。これはSwingの機能のため、JavaFXの「Insets」クラスではありません。そのためSwingの「JFrame」クラスを用いてウィンドウを作成し(表示はしません)、枠の値を「addNotify」関数で有効にしてから、「JFrame」のインスタンスから「getInsets」関数で「Insets」クラスのインスタンスを取得します。「Insets」クラスの「right・left・top・bottom」の値を取得し、各変数に代入します。することにより、ウィンドウの枠の大きさが他のクラスからでも使えるようになります。ウィンドウを表示}}行なっていることは、「ウィンドウの幅・高さの設定」、「Canvasの追加」、「マップチップ・グリッドの描画」の3つです。{}});}}FileMenuからMapStageを開けるようにします。再描画が上手くいっていないとは、つまりは画面の消去が行われていないということです。保存のやり方を簡単な例で説明します。・敵は常に自機を狙ってショットJava【JavaFX】3Dの円柱を作成しよう!今まではJava3Dを使うためのライブラリをダウンロードする必要があったのですが、今現在JavaFXを使っている場合は、特別な準備をする必要は一切ありません。円柱を作成すJavaJavaを挫折した時にみてください今この記事をご覧になっているあなたは、Javaで挫折したと感じていることでしょう。実は私もJavaで挫折した経験があるんです。今現在はマスターしており、こうしてJavaに関する記事をたくさん書いています。そこで、Java【JavaFX】CSSでオシャレなボタンを作成するJavaFXではNodeと呼ばれる部品をCSSを用いて自由に装飾することができるので、今回はCSSの書き方の説明も交えながら、実際に作って紹介していきます。下の画像をみてください。コメントをキャンセルメールアドレスが公開されることはありません。R1カテゴリーJavaJavaFXJavaScriptPythonRこのサイトの管理人IT系だんしプログラミングが大好きな人。趣味でゲームやツール製作をしながら、プログラミング記事を書き続けています。