@FXML Label label1;クラスには、LabelとTextFieldがインスタンスフィールドとして用意されています。が、これらの変数にインスタンスを代入する処理はどこにもありません。「@FXML」というアノテーションを付けることで、FXMLにある同名のfx:idのインスタンスがバインドされるようになっています。
@FXML TextField field1;
@FXMLアクションメソッドも、やはり@FXMLアノテーションでバインドします。メソッドはprotectedにする必要があるので注意しましょう。また、Eventクラスのインスタンスを引数として用意します。アクションイベントならば、ActionEventインスタンスが渡されます。
protected void doAction(ActionEvent ev){……}
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
package com.tuyano.libro;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
public class AppController {
@FXML Label label1;
@FXML TextField field1;
@FXML
protected void doAction(ActionEvent ev){
String str = field1.getText();
str = "あなたは、「" + str + "」と書いた。";
label1.setText(str);
}
}
| << 前へ | 次へ >> |