java中的swing常用組件講解

java中的swing常用組件講解

ID:19251831

大?。?4.50 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2018-09-30

java中的swing常用組件講解_第1頁(yè)
java中的swing常用組件講解_第2頁(yè)
java中的swing常用組件講解_第3頁(yè)
java中的swing常用組件講解_第4頁(yè)
java中的swing常用組件講解_第5頁(yè)
資源描述:

《java中的swing常用組件講解》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、在Java1.0中,已經(jīng)有一個(gè)用于GUI編程的類(lèi)庫(kù)AWT,稱(chēng)之為抽象窗口工具箱。遺憾的是,AWT中的組件(例如按鈕,類(lèi)名為Button)在實(shí)現(xiàn)中使用了本地代碼(NativeCode),這些組件的創(chuàng)建和行為是由應(yīng)用程序所在平臺(tái)上的本地GUI工具來(lái)處理的。因此,AWT組件要在不同的平臺(tái)上提供給用戶(hù)一致的行為就受到了很大的限制。同時(shí),AWT組件中還存在很多bug,這就使得使用AWT來(lái)開(kāi)發(fā)跨平臺(tái)的GUI應(yīng)用程序困難重重?! ?996年,SUN公司和Netsacpe公司在一個(gè)稱(chēng)為Swing的項(xiàng)目中合作完善了Netsa

2、cpe公司原來(lái)開(kāi)發(fā)的一套GUI庫(kù),也就是現(xiàn)在所謂的Swing組件。Swing組件和原來(lái)的AWT組件完全不同,最大的區(qū)別就是Swing組件的實(shí)現(xiàn)中沒(méi)有使用本地代碼,這樣對(duì)底層平臺(tái)的依賴(lài)型就大為降低,并且可以給不同平臺(tái)的用戶(hù)一致的感覺(jué)。此外,和原來(lái)的AWT相比,Swing中提供了內(nèi)容更多、使用更為方便的組件?! ≡陂喿x一些書(shū)籍時(shí),常會(huì)遇到名詞JFC(JavaFoundationClass)。JFC的概念是在1997年的JavaOne開(kāi)發(fā)者大會(huì)上首次提出的,是指用于構(gòu)建GUI的一組API。實(shí)際上,Swing只是J

3、FC的一部分,其它的還有二維圖形(Java2D)API以及拖放(DragandDrop)API等等?! wing并不是完全取代了AWT,Swing只是使用更好的GUI組件(如JButton)代替AWT中相應(yīng)的GUI組件(如Button),并且增加了一些AWT中原來(lái)所沒(méi)有的GUI組件。并且,Swing仍使用AWT1.1的事件處理模型?! ‰m然現(xiàn)在A(yíng)WT組件仍得到支持,但是建議在你的應(yīng)用程序中盡量使用Swing組件和1.1的事件模型?! ?.標(biāo)簽(JLabel)  標(biāo)簽(JLabel)通常是用來(lái)標(biāo)識(shí)另外一個(gè)組

4、件的含義。以在標(biāo)簽上顯示文字、圖象或是文字圖象的組合?! LabellabText=newJLabel(“文本標(biāo)簽”);  labText.setText("文本標(biāo)簽");  ImageIconicon=newImageIcon("image/greenflag20.gif");  JLabellabImage=newJLabel(icon);  labImage.setIcon(icon);  2.密碼框(JPasswordField)  密碼框?qū)嶋H上是一種特殊類(lèi)型的文本框,用戶(hù)可以向其中輸入文本并加以

5、編輯。和文本框不同的是,向密碼框中輸入文本時(shí),顯示的不是實(shí)際輸入的文本,而是特殊的回顯字符(通常是'*')??梢允褂胹etEchoChar(charc)方法來(lái)改變?nèi)笔〉幕仫@字符?! ⌒枰⒁獾氖牵〉梦谋究蛑械奈谋緯r(shí),使用方法getText(),該方法返回的是一個(gè)String類(lèi)型的對(duì)象;而要取得密碼框中的文本,使用方法getPassword(),該方法返回的是一個(gè)char數(shù)組?! ±?,創(chuàng)建了一個(gè)密碼框:  JPasswordFieldtxtPwd=newJPasswrodField(20);  設(shè)定該密碼

6、框的回顯字符為'#':  txtPwd.setEchoChar('#');  取得密碼框中的內(nèi)容:  char[]pwd=txtPwd.getPassword();  也可以方便地將char數(shù)組轉(zhuǎn)化為String類(lèi)型的對(duì)象:  StringpwdStr=newString(txtP.getPassword());  3.菜單  (1)菜單也是一種常用的GUI組件,菜單采用的是一種層次結(jié)構(gòu),最頂層是菜單欄(JMenuBar);在菜單欄中可以添加若干個(gè)菜單(JMenu),每個(gè)菜單中又可以添加若干個(gè)菜單選項(xiàng)(JM

7、enuItem)、分隔線(xiàn)(Separator)或是菜單(稱(chēng)之為子菜單)?! ?2)構(gòu)建應(yīng)用程序的菜單時(shí),先創(chuàng)建一個(gè)菜單欄:  JMemuBarmenuBar=newJMenuBar();  通常使用框架的setJMenuBar(JMenuBaraMenuBar)方法將菜單欄置于框架中:  frame.setJMenuBar(menuBar);  隨后,創(chuàng)建所需要的各菜單并逐個(gè)添加到菜單欄中,例如:  JMenumenuDBAccount=newJMenu("電表出帳(C)");  ...  JMenumen

8、uSysConfig=newJMenu("系統(tǒng)設(shè)置(X)");  menuBar.add(menuDBAccount);  ...  menuBar.add(menuSysConfig);  最后,向各個(gè)菜單中添加菜單選項(xiàng)、分隔線(xiàn)或是子菜單,如圖所示的系統(tǒng)設(shè)置菜單為例:  //創(chuàng)建菜單選項(xiàng)或是子菜單  JMenuItemsysConfigItem=newJMenuItem("參數(shù)設(shè)置(S)...");  JMen

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。