首頁 - 網(wǎng)校 - 萬題庫 - 美好明天 - 直播 - 導(dǎo)航

全國(guó)計(jì)算機(jī)二級(jí)Java考試入門教程:Java對(duì)話框

來源:考試吧 2017-10-23 15:00:01 要考試,上考試吧! 萬題庫
“全國(guó)計(jì)算機(jī)二級(jí)Java考試入門教程:Java對(duì)話框”供考生參考。更多計(jì)算機(jī)等級(jí)考試內(nèi)容請(qǐng)?jiān)L問考試吧計(jì)算機(jī)等級(jí)考試網(wǎng)。

  點(diǎn)擊查看:全國(guó)計(jì)算機(jī)二級(jí)考試《Java》入門教程匯總

  對(duì)話框是為了人機(jī)對(duì)話過程提供交互模式的工具。應(yīng)用程序通過對(duì)話框,或給用戶提供信息,或從用戶獲得信息。對(duì)話框是一個(gè)臨時(shí)窗口,可以在其中放置用于得到用戶輸入的控件。在Swing中,有兩個(gè)對(duì)話框類,它們是JDialog類和JOptionPane類。JDialog類提供構(gòu)造并管理通用對(duì)話框;JOptionPane類給一些常見的對(duì)話框提供許多便于使用的選項(xiàng),例如,簡(jiǎn)單的“yes-no”對(duì)話框等。

  JDialog類

  JDialog類作作對(duì)話框的基類。對(duì)話框與一般窗口不同,對(duì)話框依賴其他窗口,當(dāng)它所依賴的窗口消失或最小化時(shí),對(duì)話框也將消失;窗口還原時(shí),對(duì)話框又會(huì)自動(dòng)恢復(fù)。

  對(duì)話框分為強(qiáng)制和非強(qiáng)制兩種。強(qiáng)制型對(duì)話框不能中斷對(duì)話過程,直至對(duì)話框結(jié)束,才讓程序響應(yīng)對(duì)話框以外的事件。非強(qiáng)制型對(duì)話框可以中斷對(duì)話過程,去響應(yīng)對(duì)話框以外的事件。強(qiáng)制型也稱有模式對(duì)話框,非強(qiáng)制對(duì)話框也稱非模式對(duì)話框。

  JDialog對(duì)象也是一種容器,因此也可以給JDialog對(duì)話框指派布局管理器,對(duì)話框的默認(rèn)布局為BoarderLayout布局。但組件不能直接加到對(duì)話框中,對(duì)話框也包含一個(gè)內(nèi)容面板,應(yīng)當(dāng)把組件加到JDialog對(duì)象的內(nèi)容面板中。由于對(duì)話框依賴窗口,因此要建立對(duì)話框,必須先要?jiǎng)?chuàng)建一個(gè)窗口。

  JDialog類常用的構(gòu)造方法有3個(gè):

  JDialog(),構(gòu)造一個(gè)初始化不可見的非強(qiáng)制型對(duì)話框。

  JDialog(JFramef,String s),構(gòu)造一個(gè)初始化不可見的非強(qiáng)制型對(duì)話框,參數(shù)f設(shè)置對(duì)話框所依賴的窗口,參數(shù)s用于設(shè)置標(biāo)題。通常先聲明一個(gè)JDialog類的子類,然后創(chuàng)建這個(gè)子類的一個(gè)對(duì)象,就建立了一個(gè)對(duì)話框。

  JDialog(JFrame f,String s,boolean b),構(gòu)造一個(gè)標(biāo)題為s,初始化不可見的對(duì)話框。參數(shù)f設(shè)置對(duì)話框所依賴的窗口,參數(shù)b決定對(duì)話框是否強(qiáng)制或非強(qiáng)制型。

  JDialog類的其他常用方法有以下幾個(gè):

  getTitle(),獲取對(duì)話框的標(biāo)題。

  setTitle(String s),設(shè)置對(duì)話框的標(biāo)題。

  setModal(boolean b),設(shè)置對(duì)話框的模式。

  setSize(),設(shè)置框的大小。

  setVisible(boolean b),顯示或隱藏對(duì)話框。

  【例 11-16】小應(yīng)用程序聲明一個(gè)用戶窗口類和對(duì)話框類,用戶窗口有兩個(gè)按鈕和兩個(gè)文本框,當(dāng)點(diǎn)擊某個(gè)按鈕時(shí),對(duì)應(yīng)的對(duì)話框被激活。在對(duì)話框中輸入相應(yīng)信息,按對(duì)話框的確定按鈕。確定按鈕的監(jiān)視方法,將對(duì)話框中輸入的信息傳送給用戶窗口,并在用戶窗口的相應(yīng)文本框中顯示選擇信息(查看源文件)。

  上述例子創(chuàng)建的是強(qiáng)制型對(duì)話框,改為非強(qiáng)制型對(duì)話框就允許用戶在對(duì)話過程中暫停,與程序的其他部分進(jìn)行交互。這樣,在界面中可以看到部分對(duì)話的效果。

  將上述例子改為非強(qiáng)制型對(duì)話框只要作少量的改動(dòng)即可。首先是將對(duì)話框構(gòu)造方法中的代碼“super(F,s,true);”改為 “super(F,s,false);”。

  第二個(gè)變化:原來是響應(yīng)確定按鈕事件時(shí),才調(diào)用方法returnName(),將對(duì)話框得到的字符串返回給程序�,F(xiàn)在當(dāng)文本框輸入選擇字符串結(jié)束后,就應(yīng)該立即調(diào)用該方法。為此,需要對(duì)文本框的輸入事件作監(jiān)視,為文本注冊(cè)監(jiān)視器:

  public void actionPerformed(ActionEvent e){

  if(e.getSource()==text){

  MyWindow.returnName(text.getText());

  }

  else if(e.getSource()==done){

  MyWindow.returnName(text.getText());

  setVisible(false);

  dispose();//清除資源

  }

  }

  JOptionPane類

  經(jīng)常遇到非常簡(jiǎn)單的對(duì)話情況,為了簡(jiǎn)化常見對(duì)話框的編程,JOptionPane類定義了四個(gè)簡(jiǎn)單對(duì)話框類型,參見表11-4。JOptionPane類提供一組靜態(tài)方法,讓用戶選用某種類型的對(duì)話框。下面的代碼是選用確認(rèn)對(duì)話框:

  int result = JOptionPane.showConfirmDialog(parent,“確實(shí)要退出嗎”, “退出確認(rèn)“,JOptionPane.YES_NO_CANCEL_OPTION);

  其中方法名的中間部分文字“Confirm”是創(chuàng)建對(duì)話框的類型,文字Confirm指明是選用確認(rèn)對(duì)話框。將文字Confirm改為另外三種類型的某一個(gè),就成為相應(yīng)類型的對(duì)話框。上述代碼的四個(gè)參數(shù)的意義是:第一個(gè)參數(shù)指定這個(gè)對(duì)話框的父窗口;第二個(gè)參數(shù)是對(duì)話框顯示的文字;第三個(gè)參數(shù)是對(duì)話框的標(biāo)題;最后一個(gè)參數(shù)指明對(duì)話框有三個(gè)按鈕,分別為“是(Y)”,“否(N)”,和“撤銷”。方法的返回結(jié)果是用戶響應(yīng)了這個(gè)對(duì)話框后的結(jié)果,參見表 11-5 給出的可能答案。

  輸入對(duì)話框以列表或文本框形式請(qǐng)求用戶輸入選擇信息,用戶可以從列表中選擇選項(xiàng)或從文本框中輸入信息。以下是一個(gè)從列表中選擇運(yùn)行項(xiàng)目的輸入對(duì)話框的示意代碼:

  String result = (String)JOptionPane.showInputDialog(parent,

  “請(qǐng)選擇一項(xiàng)運(yùn)動(dòng)項(xiàng)目”, “這是運(yùn)動(dòng)項(xiàng)目選擇對(duì)話框”,

  JOptionPane.QUESTION_MESSAGE,null,

  new Object[]{“踢足球“,“打籃球”,“跑步”,“跳繩”},“跑步”);

  第四個(gè)參數(shù)是信息類型,參見11-6,第五個(gè)參數(shù)在這里沒有特別的作用,總是用null;第六個(gè)參數(shù)定義了一個(gè)供選擇的字符串?dāng)?shù)組,第七個(gè)參數(shù)是選擇的默認(rèn)值。對(duì)話框還包括“確定”和“撤銷”按鈕。

表11-4JOptionPane對(duì)話框類型
輸入 通過文本框、列表或其他手段輸入,另有“確定”和“撤銷”按鈕
確認(rèn) 提出一個(gè)問題,待用戶確認(rèn),另有“是(Y)”、“否(N)”和“撤銷”按鈕
信息 顯示一條簡(jiǎn)單的信息,另有“確定”和“撤銷”按鈕
選項(xiàng) 顯示一列供用戶選擇的選項(xiàng)
表 11-5由 JOptionPane 對(duì)話框返回的結(jié)果
YES_OPTION 用戶按了“是(Y)”按鈕
NO_OPTION 用戶按了“否(N)”按鈕
CANCEL_OPTION 用戶按了“撤銷”按鈕
OK_OPTION 用戶按了“確定”按鈕
CLOSED_OPTION 用戶沒按任何按鈕,關(guān)閉對(duì)話框窗口
表 11-6JOptionPane 對(duì)話框的信息類型選項(xiàng)
PLAIN_MESSAGE 不包括任何圖標(biāo)
WARNING_MESSAGE 包括一個(gè)警告圖標(biāo)
QUESTION_MESSAGE 包括一個(gè)問題圖標(biāo)
INFORMATIN_MESSAGE 包括一個(gè)信息圖標(biāo)
ERROR_MESSAGE 包括一個(gè)出錯(cuò)圖標(biāo)

  有時(shí),程序只是簡(jiǎn)單地輸出一些信息,并不要求用戶有反饋。這樣的對(duì)話框可用以下形式的代碼創(chuàng)建:

  JOptionPane.showMessageDialog(parent, “這是一個(gè)Java程序”,

  “我是輸出信息對(duì)話框”,JOptionPane.PLAIN_MESSAGE);

掃描/長(zhǎng)按二維碼幫助考試通關(guān)
2017等考成績(jī)查詢時(shí)間
2017等考各科通關(guān)技巧
2017各科最新預(yù)測(cè)試卷
等考成績(jī)?cè)u(píng)定及管理

微信搜索"考試吧"了解更多考試資訊、下載備考資料

  相關(guān)推薦:

  【考試吧整理】計(jì)算機(jī)等級(jí)考試各科目歷年真題

  全國(guó)計(jì)算機(jī)等級(jí)考試證書體系(2018版)

  全國(guó)計(jì)算機(jī)等級(jí)考試課程、教材列表(2018版)

  全國(guó)計(jì)算機(jī)等級(jí)證書分幾級(jí)?哪個(gè)級(jí)別最高?

  各地計(jì)算機(jī)等級(jí)考試報(bào)名入口及官方網(wǎng)站匯總

  【考試吧整理】計(jì)算機(jī)等級(jí)考試報(bào)考完全指南

0
收藏該文章
0
收藏該文章
文章搜索
萬題庫小程序
萬題庫小程序
·章節(jié)視頻 ·章節(jié)練習(xí)
·免費(fèi)真題 ·模考試題
微信掃碼,立即獲��!
掃碼免費(fèi)使用
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
此欄目下沒有文章
版權(quán)聲明:如果計(jì)算機(jī)等級(jí)考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級(jí)考試網(wǎng)內(nèi)容,請(qǐng)注明出處。
Copyright © 2004-2025 考試吧計(jì)算機(jī)等級(jí)考試網(wǎng) 出版物經(jīng)營(yíng)許可證新出發(fā)京批字第直170033號(hào)  
京ICP證060677 京ICP備05005269號(hào) 中國(guó)科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧