Java SE 8 Update 40 より、JavaFX に DIalog が導入されたということですので、遅ればせながら Dialog のサンプルを紹介します。ウィンドウの右上の X をクリックしてウィンドウを閉じようとしたときに、確認用のダイアログを表示させるサンプルです。
動作環境は次の通りです。
- OS: WIndows 8.1 (64bit)
- Java: Java SE 1.8.0_40-b25
- IDE: NetBeans IDE 8.0.2
リスト:DialogSample.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | package dialogsample; import java.util.Optional; import javafx.application.Application; import javafx.event.ActionEvent; import javafx.scene.Scene; import javafx.scene.control.Alert; import javafx.scene.control.Button; import javafx.scene.control.ButtonType; import javafx.scene.layout.StackPane; import javafx.stage.Stage; import javafx.stage.WindowEvent; public class DialogSample extends Application { @Override public void start(Stage primaryStage) { primaryStage.setOnCloseRequest((WindowEvent t) -> { abortAction(t); }); Button btn = new Button(); btn.setText( "Say 'Hello World'" ); btn.setOnAction((ActionEvent event) -> { System.out.println( "Hello World!" ); }); StackPane root = new StackPane(); root.getChildren().add(btn); Scene scene = new Scene(root, 300 , 250 ); primaryStage.setTitle( "Hello World!" ); primaryStage.setScene(scene); primaryStage.show(); } private void abortAction(WindowEvent t) { Alert alert = new Alert(Alert.AlertType.CONFIRMATION); alert.setTitle( "確認" ); alert.setHeaderText( null ); alert.setContentText( "本当に終了しますか?" ); Optional<ButtonType> result = alert.showAndWait(); if (result.get() == ButtonType.OK) { System.exit( 0 ); } else { t.consume(); } } public static void main(String[] args) { launch(args); } } |
実行例を以下に示します。
参考サイト
- JavaFX 8u40 のダイアログを探る - Programming Studio
- JavaFX Dialogs (official) | code.makery.ch
- Dialog (JavaFX 8)
0 件のコメント:
コメントを投稿