スポンサーリンク

| キーワード:

JavaFX FXMLとJavaの関連づけ

Fxml1.java

package fxdemo;

import java.io.File;
import java.net.URL;
import javafx.scene.layout.AnchorPane;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Fxml1 extends Application {

	public static void main(String[] args) {
		launch(args);
	}

	@Override
	public void start(Stage stage) throws Exception {
		AnchorPane root = FXMLLoader.load(getClass().getResource("sample.fxml"));
		Scene scene = new Scene(root);

		stage.setTitle("FXML Test");
		stage.setScene(scene);
		stage.show();
	}
}

 

LoginFormController.java

package fxdemo;

import javafx.scene.control.Button;
import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.TextField;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.ActionEvent;

public class LoginFormController implements Initializable {
    @FXML
    private TextField textbox;
    
    @FXML
    private Button button;

    @FXML
    public void handleBtnClick(ActionEvent event) {
        // Loginボタンをクリックされた時のイベント処理
    	System.out.println( textbox.getText() );
    }

	@Override
    public void initialize(URL url, ResourceBundle rb) {
        textbox.setText("input box");
    }
}

 

sample.fxml

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>

<AnchorPane xmlns:fx="http://javafx.com/fxml" 
            fx:controller="fxdemo.LoginFormController"
			minWidth="100.0" minHeight="138.0"  
            prefWidth="320.0" prefHeight="138.0">
	<children>
		<TextField
			fx:id="textbox"
			prefWidth="160.0" AnchorPane.topAnchor="0.0"
			AnchorPane.leftAnchor="80.0" AnchorPane.rightAnchor="0.0" />
		<Button onAction="#handleBtnClick" text="Cancel" fx:id="button" />
	</children>
</AnchorPane>

 

ボタンをクリックするとコンソールにテキストフィールドの内容が出力される

>javac fxdemo\Fxml1.java fxdemo\LoginFormController.java

 

 javafxfxmlstart

 

 

 

 

 

 

 

 

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: