質問するログイン新規登録

回答編集履歴

1

見直しキャンペーン中

2023/07/26 14:48

投稿

TN8001
TN8001

スコア10166

answer CHANGED
@@ -1,40 +1,39 @@
1
- > idともう一つ"name"も取得したいとなった場合どのように書けば取得できるのでしょうか。
2
-
3
- ```Java
4
- @FXML
5
- private TextField id;
6
-
7
- @FXML
8
- private TextField name;
9
-
10
- @FXML
11
- protected void onGetButtonClick(ActionEvent evt) {
12
- System.out.println(id.getText());
13
- System.out.println(name.getText());
14
- }
15
- ```
16
- のように`name`もフィールドを作ります(`@FXML`も忘れずに)
17
- `fxml`と`Controller`クラスで、型(`TextField`等)と名前(`name`等)があっている必要があります。
18
-
19
- > どのような仕組みで取得できているのか
20
-
21
- `FXMLLoader.load`で色々よしなにやってくれるんでしょうが、私も知りません^^;
22
- そういう決まりだと思ったほうが幸せだと思います。
23
-
24
- [FXMLの概要 | JavaFX 8.0](https://docs.oracle.com/javase/jp/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html)
25
- [FXMLを利用する(1)基本的な使い方|軽Lab](http://krr.blog.shinobi.jp/javafx/fxml%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%EF%BC%88%EF%BC%91%EF%BC%89%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E4%BD%BF%E3%81%84%E6%96%B9)
26
-
27
- 実際は`Scene Builder`を使用すれば、かなりの部分をマウスポチポチで済むはずです。
28
-
29
-
30
- > Javaの学習としてデスクトップアプリを作成して成果物を作りながら学習を行いたいと考えているのですが、デスクトップアプリを作るのにJavaFXは良いのでしょうか?「JavaFX 廃止」という記事や、調べても学習の参考になるようなサイトなどがあまりなくてこずっています。
31
-
32
- ひとつはっきりさせておきたいのは`JDK`に含まれなくなっただけで、`OpenJFX`として開発は続いています。
33
- [JavaFX](https://openjfx.io/)
34
-
35
- `JavaFX`は`Swing`後継として出てきたわけですが、あま流行らなかったの確かだいます
36
- 辺りはC#でWindows開発とよくています(`Winforms`対`WPF`・`UWP`
37
- ビューとロジックを分けて書くタイプのものですが、小規模だとメリットよりデメリットのほうが大きく感じられたのかもしれません(リアルタイムで体験していないので本当の理由はよくわかりません)
38
-
39
- 言語の学習がメインでれば情報の多い`Swing`でやったほうが躓き少ないと思います。
40
- 今後GUIアプリの学習も視野にあるなら、`JavaFX`をする意義はあると思います。
1
+ > idともう一つ"name"も取得したいとなった場合どのように書けば取得できるのでしょうか。
2
+
3
+ ```Java
4
+ @FXML
5
+ private TextField id;
6
+
7
+ @FXML
8
+ private TextField name;
9
+
10
+ @FXML
11
+ protected void onGetButtonClick(ActionEvent evt) {
12
+ System.out.println(id.getText());
13
+ System.out.println(name.getText());
14
+ }
15
+ ```
16
+ のように`name`もフィールドを作ります(`@FXML`も忘れずに)
17
+ `fxml`と`Controller`クラスで、型(`TextField`等)と名前(`name`等)があっている必要があります。
18
+
19
+ > どのような仕組みで取得できているのか
20
+
21
+ `FXMLLoader.load`で色々よしなにやってくれるんでしょうが、私も知りません^^;
22
+ そういう決まりだと思ったほうが幸せだと思います。
23
+ [FXMLの概要 | JavaFX 8.0](https://docs.oracle.com/javase/jp/8/javafx/api/javafx/fxml/doc-files/introduction_to_fxml.html)
24
+ [FXMLを利用する(1)基本的な使い方|軽Lab](http://krr.blog.shinobi.jp/javafx/fxml%E3%82%92%E5%88%A9%E7%94%A8%E3%81%99%E3%82%8B%EF%BC%88%EF%BC%91%EF%BC%89%E5%9F%BA%E6%9C%AC%E7%9A%84%E3%81%AA%E4%BD%BF%E3%81%84%E6%96%B9)
25
+
26
+ 実際は「Scene Builder」を使用すれば、かなりの部分をマウスポチポチで済むはずです。
27
+
28
+
29
+ > Javaの学習としてデスクトップアプリを作成して成果物を作りながら学習を行いたいと考えているのですが、デスクトップアプリを作るのにJavaFXは良いのでしょうか?「JavaFX 廃止」という記事や、調べても学習の参考になるようなサイトなどがあまりなくてこずっています。
30
+
31
+ ひとつはっきりさせておきたいのはJDKに含まれなくなっただけで、OpenJFXとして開発は続いています。
32
+ [JavaFX](https://openjfx.io/)
33
+
34
+ JavaFXはSwingの後継として出てきたわけですが、あまり流行らなかったのは確かだと思います。
35
+ りはC#でのWindows開発よく似ています(Winforms 対 WPF・UWP)
36
+ ビューとロジックを分けて書くタイプですが、小規模だメリットりデメリットのほうが大き感じられたのかもしれません(リアルタイムで体験していないので本当の理由はよくわかりせん
37
+
38
+ 言語の学習がメインであれば、情報の多いSwingでやったほうが躓きは少ないと思います。
39
+ 今後GUIアプリの学習も視野にるならJavaFXをする意義あると思います。