更新時間:2022-10-14 10:56:35 來源:動力節(jié)點(diǎn) 瀏覽3262次
Dialog 窗口是一個獨(dú)立的子窗口,除了主 Swing 應(yīng)用程序窗口外,它還用于攜帶臨時通知。大多數(shù)對話框向用戶顯示錯誤消息或警告,但對話框可以顯示圖像、目錄樹或與管理它們的主 Swing 應(yīng)用程序兼容的任何東西。
為方便起見,幾個 Swing 組件類可以直接實(shí)例化和顯示對話框。要創(chuàng)建簡單的標(biāo)準(zhǔn)對話框,請使用 JOptionPane該類。該類ProgressMonitor可以建立一個顯示操作進(jìn)度的對話框。另外兩個類JColorChooser和JFileChooser也提供標(biāo)準(zhǔn)對話框。要打開打印對話框,您可以使用打印API。要創(chuàng)建自定義對話框,請 JDialog直接使用該類。
簡單對話框的代碼可以是最少的。例如,這是一個信息對話框:

每個對話框都依賴于一個 Frame 組件。當(dāng)該 Frame 被銷毀時,其依賴的 Dialogs 也會被銷毀。當(dāng)框架被圖標(biāo)化時,其依賴的對話框也會從屏幕上消失。當(dāng)框架被取消圖標(biāo)化時,其依賴的對話框返回到屏幕。swing JDialog 類從 AWTDialog類繼承此行為。
對話框可以是模態(tài)的。當(dāng)模態(tài)對話框可見時,它會阻止用戶對程序中所有其他窗口的輸入。JOptionPane 創(chuàng)建JDialog模態(tài)的 s。要創(chuàng)建非模態(tài)對話框,您必須JDialog直接使用該類。
從 JDK 7 開始,您可以使用新的 Modality API 修改對話框窗口的模態(tài)行為。有關(guān)詳細(xì)信息,請參閱新模式 API。
該類JDialog是 AWT 類的子 java.awt.Dialog類。它添加了一個根窗格容器并支持對Dialog對象的默認(rèn)關(guān)閉操作。這些是相同的功能,直接JFrame使用與使用JDialog非常相似JFrame。如果你要JDialog直接使用,那么你應(yīng)該了解使用頂級容器和如何制作框架,尤其是響應(yīng)窗口關(guān)閉事件中的材料。
即使你JOptionPane用來實(shí)現(xiàn)一個對話框,你仍然JDialog在幕后使用。原因是它JOptionPane只是一個容器,它可以自動創(chuàng)建 aJDialog并將其自身添加到JDialog的內(nèi)容窗格中。
這是顯示對話框的應(yīng)用程序的圖片。

使用JOptionPane,您可以快速創(chuàng)建和自定義幾種不同類型的對話框。JOptionPane提供對標(biāo)準(zhǔn)對話框布局、提供圖標(biāo)、指定對話框標(biāo)題和文本以及自定義按鈕文本的支持。其他功能允許您自定義對話框顯示的組件并指定對話框應(yīng)出現(xiàn)在屏幕上的位置。您甚至可以指定選項(xiàng)窗格將自己放入內(nèi)部框架( JInternalFrame) 而不是JDialog.
當(dāng)您創(chuàng)建一個JOptionPane特定于外觀的代碼時,會將組件添加到JOptionPane并確定這些組件的布局。
JOptionPane的圖標(biāo)支持讓您輕松指定對話框顯示的圖標(biāo)。您可以使用自定義圖標(biāo)、根本沒有圖標(biāo)或四個標(biāo)準(zhǔn)JOptionPane圖標(biāo)(問題、信息、警告和錯誤)中的任何一個。每種外觀和感覺都有自己的四個標(biāo)準(zhǔn)圖標(biāo)版本。
JOptionPane對于大多數(shù)簡單的模態(tài)對話框,您可以使用's方法之一創(chuàng)建和顯示對話框。如果你的對話框應(yīng)該是一個內(nèi)部框架,那么在之后添加——例如,更改為. 如果您需要控制對話框關(guān)閉窗口的行為,或者您不希望對話框是模態(tài)的,那么您應(yīng)該直接實(shí)例化并將其添加到實(shí)例中。然后調(diào)用使其出現(xiàn)。showXxxDialogInternalshowshowMessageDialogshowInternalMessageDialogJOptionPaneJDialogsetVisible(true)JDialog
兩個最有用的方法是和。該方法顯示一個簡單的一鍵對話框。該方法顯示一個自定義對話框——它可以顯示帶有自定義按鈕文本的各種按鈕,并且可以包含標(biāo)準(zhǔn)文本消息或組件集合。showXxxDialogshowMessageDialogshowOptionDialogshowMessageDialogshowOptionDialog
其他兩種方法使用較少。該方法要求用戶確認(rèn)某事,但呈現(xiàn)標(biāo)準(zhǔn)按鈕文本(例如是/否或本地化等效項(xiàng)),而不是針對用戶情況定制的按鈕文本(例如開始/取消)。第四種方法,旨在顯示一個模式對話框,該對話框使用文本字段、不可編輯的組合框或列表從用戶那里獲取字符串。showXxxDialogshowConfirmDialogshowInputDialog
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743