【JavaFX】ツールバーを作成・イベントを登録する方法(ToolBar)

JavaFXでツールバーを作成・イベントを登録する方法について記載します。

ツールバーを作成・イベントを登録する方法

ツールバーを作成するには、ToolBarクラスを使用します。
また、イベントを登録するには、setOnActionメソッドを使用します。

次の例では、ツールバーに5つのボタンを設定しています。
ボタンをクリックすると、ラベルにボタン名を表示します。
表示しきれないボタンは、 >> をクリックすると表示されます。

実行例

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;

public class Main extends Application  {

    /* ToolBarオブジェクトを作成 */
    ToolBar toolBar= new ToolBar();

    /* ボタンが押された際の出力先 */
    Label lblOutput = new Label();

    @Override
    public void start(Stage pStage) throws Exception {

        /* ツールバーにボタンを登録 */
        final String[] btnNames = {"ボタンA","ボタンB","ボタンC","ボタンD","ボタンE"};
        for( String btbName : btnNames ) {

            // ボタンを作成
            Button btn = new Button(btbName);
            btn.setPrefWidth(100);
            btn.setOnAction( new EventHandler<ActionEvent>() {
                @Override
                public void handle(ActionEvent event) {
                    lblOutput.setText( ((Button)event.getSource()).getText() + "がクリックされました。");
                }
            });

            // ツールバーに登録
            toolBar.getItems().add(btn);
        }

        /* 配置 */
        BorderPane borderPane = new BorderPane();
        borderPane.setTop( toolBar );
        borderPane.setCenter(lblOutput);

        pStage.setTitle("ToolBar");
        pStage.setWidth(400);
        pStage.setHeight(300);
        pStage.setScene(new Scene(borderPane));
        pStage.show();
    }

    public static void main(String[] args){

        Application.launch(args);

    }
}
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする