Takunojiのプログラミング・プレイグラウンド(遊び場)

プログラミングのススメとか記載します、今までにやったのは、環境構築、実装方法の説明など、Java, UnrealEngine, Unity, BlenderPython, Discord, OpenCV, TensorFlow(Python), ラズパイ(RPi)などやりました。まだ中途半端ですが。。。

JavaFx 開発チュートリアル 〜3: 入力イベントを操る(実装編)〜

前回、初めに実装したJavaFxのソースを眺めました
そして、今回はイベント処理の実装を行います。

また前回と同じソースです。ダウンロードはここ

javaソース↓

public class Lesson1 extends Application {

/**

* はじめのプログラムは「Hello World」<br/>

* どの言語でもやるのです。<br/>

* 主な用途としては、プログラムの疎通確認をやります。<br/>

* ※プログラムの実行環境を作成した後にプログラムが走るか確認<br/>

*

@param args: プログラム引数

*/

public static void main(String args) {

launch(args);

}

/**

* Lesson1. JavaFxでのはじめの一歩<br/>

* Getting started JavaFx on Tutorial<br/>

* この文章がさ記載されている部分をJavaDocコメントと言います。<br/>

*

@see https://docs.oracle.com/javafx/2/get_started/hello_world.htm

@author Takunoji

*/

public class Lesson1 extends Application {

/**

* はじめのプログラムは「Hello World」<br/>

* どの言語でもやるのです。<br/>

* 主な用途としては、プログラムの疎通確認をやります。<br/>

* ※プログラムの実行環境を作成した後にプログラムが走るか確認<br/>

*

@param args: プログラム引数

*/

public static void main(String args) {

launch(args);

}

 

/**

* プログラミング学習の基本は「写経」です。<br/>

* 意味はわからなくても「とりあえず」自分でコードを描いてください。<br/>

* インポートするのはjavafx.XXXを選択します。(IDEを使用している場合)

*/

public void start(Stage primaryStage) {

primaryStage.setTitle("Hello World");

 

Button btn = new Button();

btn.setText("Say Hello World!");

btn.setOnAction(new EventHandler<ActionEvent>() {

@Override

public void handle(ActionEvent event) {

System.out.println("Hello World");

}

});

 

StackPane root = new StackPane();

root.getChildren().add(btn);

primaryStage.setScene(new Scene(root, 300, 200));

primaryStage.show();

}

}

タイトルに入力イベントと記載しましたが「入力イベント」という言葉は
範囲が広いのでボタン押下(ボタンクリック入力)のイベント処理に着目します。

上のソースでは、「btn.setOnAction(new EventHandler<ActionEvent>() {」
で始まる行がイベント処理の実装部分です。

作成したボタンに「setOnAction()」でイベント処理を設定します。
new クラス名() {無名(のインナー)クラスを定義}
赤い部分がイベントの処理部分になります。
EventHandlerはJavaFxフレームワークで定義されているインターフェースで
インターフェースの実態部分を実装します。→なので必要な関数をオーバーライドします。
ーーーーーーーーーーーーー
@Orverride
public void handle(ActionEvent event) {

    System.out.println("Hello World");
}

ーーーーーーーーーーーーー
ボタン押下時にコンソールへ文字列「Hello World」を出力します。
「このコンソールへ出力する」は「 標準出力へ出力する」とも言います。
標準入力→InputStream
標準出力→OutputSream

結論からいうと
上のメソッドを実装すればボタンのアクションはコントロールできるということです。

そのほかのコンポーネンントはそれぞれに「アクション」「イベント」に対応するメソッドがあるので、そいつを「オーバーライド」してやればOKということです。
これ以上は、実装してみないとわからない部分なので是非自分で「オリジナル画面」を作成してみてください。

自分は、現在「JavaFx制のコマンドプロンプト」を作成中です。
でわでわJavaFxを楽しめることを祈っています。

関連ページ一覧

関連ページ一覧

 

 

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

LWJGL

  1.  Chapter1[外枠の表示のみ]
  2. Chapter2-1〜クラスの構成〜
  3. Chapter2-2〜インターフェースの使い方と詳細〜
  4. Chapter2-3〜GameEngineクラス(サンプルクラス)〜/li>
  5. Chapter2-4〜Windowクラス(サンプルクラス)〜
  6. Chapter3〜描画処理を読む〜
  7. Chapter4〜シェーダについて〜
  8. Chapter5-1レンダリングについて〜
  9. Chapter5-2レンダリング詳細〜
  10. Chapter6Projection(投影)
  11. Chapter7-1〜Cubeを作る〜
  12. Chapter7-2〜Texture〜
  13. Java 3DGame LWJGL Retry Lv1 〜動かして理解する〜
  14. Java 3DGame LWJGL Retry Lv2 〜動かして理解する2
  15. Java 3DGame LWJGL Retry Lv3 Texture〜動かして理解する3「負け越し」
  16. Java 3DGame LWJGL Retry Lv4 デバック〜動かして理解する4「黒星」
  17. Java 3DGame LWJGL Retry Lv5 遊んでみる〜動かして理解する5「引分け」
  18. Java 3DGame LWJGL Retry Lv6 遊んでみる2〜動かして理解する6「白星」
  19. ava 3DGame LWJGL Retry Lv7 遊んでみる3〜全部テクスチャにする〜