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 セットアップ
- Java Install Eclipse〜開発ツールのインストール〜
- TensorFlow C++環境〜EclipseにCDTをインストール〜
- Setup OpenGL with Java〜JOGLを使う準備 for Eclipse〜
- Eclipse Meven 開発手順〜プロジェクトの作成〜
- Java OpenCV 環境セットアップ(on Mac)
- Eclipse SceneBuilderを追加する
- JavaFX SceneBuilder 〜EclipseとSceneBuilder連携~
LWJGL
- Chapter1[外枠の表示のみ]
- Chapter2-1〜クラスの構成〜
- Chapter2-2〜インターフェースの使い方と詳細〜
- Chapter2-3〜GameEngineクラス(サンプルクラス)〜/li>
- Chapter2-4〜Windowクラス(サンプルクラス)〜
- Chapter3〜描画処理を読む〜
- Chapter4〜シェーダについて〜
- Chapter5-1〜レンダリングについて〜
- Chapter5-2〜レンダリング詳細〜
- Chapter6〜Projection(投影)〜
- Chapter7-1〜Cubeを作る〜
- Chapter7-2〜Texture〜
- Java 3DGame LWJGL Retry Lv1 〜動かして理解する〜
- Java 3DGame LWJGL Retry Lv2 〜動かして理解する2〜
- Java 3DGame LWJGL Retry Lv3 Texture〜動かして理解する3〜「負け越し」
- Java 3DGame LWJGL Retry Lv4 デバック〜動かして理解する4〜「黒星」
- Java 3DGame LWJGL Retry Lv5 遊んでみる〜動かして理解する5〜「引分け」
- Java 3DGame LWJGL Retry Lv6 遊んでみる2〜動かして理解する6〜「白星」
- ava 3DGame LWJGL Retry Lv7 遊んでみる3〜全部テクスチャにする〜