java fx dialog_JavaFX 如何使用內建的對話框(Dialog)?

本文介绍了JavaFX从8 Update 40开始内置的Dialog类和DialogPane,包括Alert、ChoiceDialog和TextInputDialog的使用方法,展示了如何创建和自定义不同类型的对话框,以及在JavaFX中显示消息、警告、错误、确认和输入等操作。
摘要由CSDN通过智能技术生成

JavaFX改進了以往Java的Awt和Swing函式庫實作圖形化介面(GUI, Graphical User Interface)的方式,而且還可以使用Lambda表示式來快速實作出Functional Interface,這也讓JavaFX應用程式的效能優於使用Awt和Swing函式庫做出來的Java應用程式。只是非常奇怪的是,JavaFX在一開始的時候居然沒有內建對話框(Dialog),沒有提供像是Swing函式庫中的JOptionPane類別所提供的showMessageDialog這樣快速跳出訊息框的方法。因此,以往要在JavaFX上顯示對話框,就只能自己製作一個對話框的Stage。

還好,這樣的情況到了Java 8 Update 40之後,官方終於在JavaFX內新增了DialogPane與Dialog類別,並預設實作了基本的資訊(Information)、警告(Warning)、錯誤(Error)、確認(Confirmation)的訊息對話框(Alert)和選擇物件的選擇對話框(ChoiceDialog),以及能輸入文字的文字輸入對話框(TextInputDialog)。底下就讓我們來看看這些對話框的使用方法。

JavaFX的內建對話框全都繼承Dialog這個類別,在個別介紹JavaFX內建對話框的用法之前,須注意到JavaFX的Dialog類別雖是一個獨立的對話框視窗,但卻是位於javafx.scene.control套件內,而非javafx.stage套件,而且也沒有繼承Control這個抽象類別,所以Dialog不是Node(Dialog is not a Node),因此別想將Dialog當作是控制項元件來加入到別的視窗或是容器中。Dialog類別內有使用到HeavyweightDialog這個非公開類別,裡面已經實作好對話框的Stage了。

若您還不清楚什麼是Stage、什麼是Node,請先參考底下兩篇文章:

訊息對話框(Alert)

JavaFX的Alert類別其實就是我們熟知的MessageDialog,根據訊息類型的不同,分為幾種不同的AlertType,在顯示時也會有不同的圖示以及不同的按鈕。分類可列表如下: None:不分類的訊息。常用於顯示使用說明。

Information:一般的提示訊息。常用於提示目前程式執行的狀態,以及回傳的正確結果。

Warning:警告訊息。常用於顯示程式遇到了一些不正常但無重大影響的問題。

Error:錯誤訊息。常用於顯示程式遇到的嚴重錯誤。

Confirmation:確認訊息。常用於再次確認使用者想要進行的動作。

建立Alert對話框的方式很簡單,程式如下: final Alert alert = new Alert(AlertType.INFORMATION); // 實體化Alert對話框物件,並直接在建構子設定對話框的訊息類型

alert.setTitle("小提示"); //設定對話框視窗的標題列文字

alert.setHeaderText("現在該做什麼?"); //設定對話框視窗裡的標頭文字。若設為空字串,則表示無標頭

alert.setContentText("請按下「確定」按鈕。"); //設定對話框的訊息文字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值