更新時(shí)間:2022-10-14 10:56:35 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2678次
Dialog 窗口是一個(gè)獨(dú)立的子窗口,除了主 Swing 應(yīng)用程序窗口外,它還用于攜帶臨時(shí)通知。大多數(shù)對(duì)話框向用戶顯示錯(cuò)誤消息或警告,但對(duì)話框可以顯示圖像、目錄樹或與管理它們的主 Swing 應(yīng)用程序兼容的任何東西。
為方便起見,幾個(gè) Swing 組件類可以直接實(shí)例化和顯示對(duì)話框。要?jiǎng)?chuàng)建簡(jiǎn)單的標(biāo)準(zhǔn)對(duì)話框,請(qǐng)使用 JOptionPane該類。該類ProgressMonitor可以建立一個(gè)顯示操作進(jìn)度的對(duì)話框。另外兩個(gè)類JColorChooser和JFileChooser也提供標(biāo)準(zhǔn)對(duì)話框。要打開打印對(duì)話框,您可以使用打印API。要?jiǎng)?chuàng)建自定義對(duì)話框,請(qǐng) JDialog直接使用該類。
簡(jiǎn)單對(duì)話框的代碼可以是最少的。例如,這是一個(gè)信息對(duì)話框:
每個(gè)對(duì)話框都依賴于一個(gè) Frame 組件。當(dāng)該 Frame 被銷毀時(shí),其依賴的 Dialogs 也會(huì)被銷毀。當(dāng)框架被圖標(biāo)化時(shí),其依賴的對(duì)話框也會(huì)從屏幕上消失。當(dāng)框架被取消圖標(biāo)化時(shí),其依賴的對(duì)話框返回到屏幕。swing JDialog 類從 AWTDialog類繼承此行為。
對(duì)話框可以是模態(tài)的。當(dāng)模態(tài)對(duì)話框可見時(shí),它會(huì)阻止用戶對(duì)程序中所有其他窗口的輸入。JOptionPane 創(chuàng)建JDialog模態(tài)的 s。要?jiǎng)?chuàng)建非模態(tài)對(duì)話框,您必須JDialog直接使用該類。
從 JDK 7 開始,您可以使用新的 Modality API 修改對(duì)話框窗口的模態(tài)行為。有關(guān)詳細(xì)信息,請(qǐng)參閱新模式 API。
該類JDialog是 AWT 類的子 java.awt.Dialog類。它添加了一個(gè)根窗格容器并支持對(duì)Dialog對(duì)象的默認(rèn)關(guān)閉操作。這些是相同的功能,直接JFrame使用與使用JDialog非常相似JFrame。如果你要JDialog直接使用,那么你應(yīng)該了解使用頂級(jí)容器和如何制作框架,尤其是響應(yīng)窗口關(guān)閉事件中的材料。
即使你JOptionPane用來(lái)實(shí)現(xiàn)一個(gè)對(duì)話框,你仍然JDialog在幕后使用。原因是它JOptionPane只是一個(gè)容器,它可以自動(dòng)創(chuàng)建 aJDialog并將其自身添加到JDialog的內(nèi)容窗格中。
這是顯示對(duì)話框的應(yīng)用程序的圖片。
使用JOptionPane,您可以快速創(chuàng)建和自定義幾種不同類型的對(duì)話框。JOptionPane提供對(duì)標(biāo)準(zhǔn)對(duì)話框布局、提供圖標(biāo)、指定對(duì)話框標(biāo)題和文本以及自定義按鈕文本的支持。其他功能允許您自定義對(duì)話框顯示的組件并指定對(duì)話框應(yīng)出現(xiàn)在屏幕上的位置。您甚至可以指定選項(xiàng)窗格將自己放入內(nèi)部框架( JInternalFrame) 而不是JDialog.
當(dāng)您創(chuàng)建一個(gè)JOptionPane特定于外觀的代碼時(shí),會(huì)將組件添加到JOptionPane并確定這些組件的布局。
JOptionPane的圖標(biāo)支持讓您輕松指定對(duì)話框顯示的圖標(biāo)。您可以使用自定義圖標(biāo)、根本沒有圖標(biāo)或四個(gè)標(biāo)準(zhǔn)JOptionPane圖標(biāo)(問(wèn)題、信息、警告和錯(cuò)誤)中的任何一個(gè)。每種外觀和感覺都有自己的四個(gè)標(biāo)準(zhǔn)圖標(biāo)版本。
JOptionPane對(duì)于大多數(shù)簡(jiǎn)單的模態(tài)對(duì)話框,您可以使用's方法之一創(chuàng)建和顯示對(duì)話框。如果你的對(duì)話框應(yīng)該是一個(gè)內(nèi)部框架,那么在之后添加——例如,更改為. 如果您需要控制對(duì)話框關(guān)閉窗口的行為,或者您不希望對(duì)話框是模態(tài)的,那么您應(yīng)該直接實(shí)例化并將其添加到實(shí)例中。然后調(diào)用使其出現(xiàn)。showXxxDialogInternalshowshowMessageDialogshowInternalMessageDialogJOptionPaneJDialogsetVisible(true)JDialog
兩個(gè)最有用的方法是和。該方法顯示一個(gè)簡(jiǎn)單的一鍵對(duì)話框。該方法顯示一個(gè)自定義對(duì)話框——它可以顯示帶有自定義按鈕文本的各種按鈕,并且可以包含標(biāo)準(zhǔn)文本消息或組件集合。showXxxDialogshowMessageDialogshowOptionDialogshowMessageDialogshowOptionDialog
其他兩種方法使用較少。該方法要求用戶確認(rèn)某事,但呈現(xiàn)標(biāo)準(zhǔn)按鈕文本(例如是/否或本地化等效項(xiàng)),而不是針對(duì)用戶情況定制的按鈕文本(例如開始/取消)。第四種方法,旨在顯示一個(gè)模式對(duì)話框,該對(duì)話框使用文本字段、不可編輯的組合框或列表從用戶那里獲取字符串。showXxxDialogshowConfirmDialogshowInputDialog
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743