freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[互聯(lián)網(wǎng)]netbeans開(kāi)發(fā)jaagui程序詳細(xì)教程基礎(chǔ)教程(編輯修改稿)

2025-09-13 00:18 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 碼編輯器,這一篇將介紹用NetBeans 開(kāi)發(fā)基于Swing Application Framework (JSR 296) 的程序,Swing一直以來(lái)是飽受爭(zhēng)議的GUI庫(kù),特別是SWT與Swing的爭(zhēng)論,分別體現(xiàn)在了Eclipse與NetBeans的爭(zhēng)論上。在此,我無(wú)心討論SWT與Swing孰優(yōu)孰劣,你要是真的對(duì)這個(gè)感興趣,可以到williamchen的博客里的Swing專(zhuān)欄看看,該專(zhuān)欄博主已經(jīng)對(duì)SWT和Swing分析得非常透徹:Swing在1998 年末作為Java ,但是當(dāng)時(shí)發(fā)布的版本不管是性能還是外觀都足以令人失望。雖然當(dāng)時(shí)Swing小組的工程師使用了最前沿的技術(shù),如設(shè)計(jì)模式,但是時(shí) 的Swing小組已經(jīng)被性能、本地化外觀一致性問(wèn)題以及許多錯(cuò)誤深深陷住了,這些問(wèn)題幾乎把整個(gè)項(xiàng)目拖垮。幸虧,Swing小組堅(jiān)持了下來(lái),要不然今天我們就不會(huì)看到像NetBeans這樣的IDE了。,Java的性能已經(jīng)有了巨大的改觀,Swing的性能已經(jīng)完全不是問(wèn)題。那么Swing的優(yōu)勢(shì)有那些呢?l優(yōu)秀的設(shè)計(jì),正如剛才所說(shuō)的,Swing從九十年代中期開(kāi)始設(shè)計(jì)就用了當(dāng)時(shí)最前沿的開(kāi)發(fā)方法學(xué)。可以說(shuō)Swing在當(dāng)今各種GUI庫(kù)中,設(shè)計(jì)是非常優(yōu)雅的。l輕量級(jí)l官方的存在JRE中,發(fā)布程序不需要像SWT那樣還要捆綁自己的GUI庫(kù)l真正的平臺(tái)獨(dú)立,Swing組件由Java 2D繪制l輕易的更改面觀模式l強(qiáng)大的IDE支持,現(xiàn)在用NetBeans做界面,幾乎不用你敲一行代碼。lSwing現(xiàn)在又多了一個(gè)殺手級(jí)框架Swing Application Framework (JSR 296)下面開(kāi)始我的第二篇Java博客NetBeans 提高生產(chǎn)力之Swing Application Framework (JSR 296)Swing Application Framework簡(jiǎn)介Swing Application Framework(以下簡(jiǎn)稱(chēng)SAF)致力于簡(jiǎn)化Swing應(yīng)用程序的開(kāi)發(fā),框架定義了對(duì)大多數(shù)桌面應(yīng)用程序的共有的基礎(chǔ)設(shè)施:l應(yīng)用程序生命周期管理,特別是GUI的啟動(dòng)和關(guān)閉。l對(duì)資源管理和載入的支持,這些資源是字符串,格式化的消息,圖像,顏色,字體以及桌面應(yīng)用程序共有的其他類(lèi)型的資源。l對(duì)動(dòng)作定義,管理和綁定的支持,其中包含了異步運(yùn)行的動(dòng)作(在后臺(tái)運(yùn)行)。l持久化會(huì)話(huà)狀態(tài):支持自動(dòng)地,有選擇地保存應(yīng)用程序一次運(yùn)行到下次運(yùn)行的GUI狀態(tài)。比如頂層的窗口幾何位置。用NetBeans開(kāi)發(fā)SAFSAF已經(jīng)定義了大多數(shù)桌面應(yīng)用程序的基礎(chǔ)設(shè)施,我們可以更方便的開(kāi)發(fā)Swing程序了,但是手動(dòng)編碼開(kāi)發(fā)GUI還是讓很多人抓狂。能不能提供一個(gè)像VB一樣的環(huán)境,讓程序員更加專(zhuān)注于功能的實(shí)現(xiàn)而不是界面的實(shí)現(xiàn)?答案是肯定的,NetBeans ,甚至比VB還要做得更好。?l生成基礎(chǔ)框架,不必每次新創(chuàng)建一個(gè)程序的時(shí)候都從頭開(kāi)始l唾手可得的國(guó)際化支持,在Netbeans里對(duì)SAF程序國(guó)際化,簡(jiǎn)單得不能再簡(jiǎn)單l擁有Swing世界里的明星級(jí)UI設(shè)計(jì)工具模塊Matisse提供的免費(fèi)大餐l用NetBeans開(kāi)發(fā)SAF,意味著你還可以使用Beans Binding(JSR 295),數(shù)據(jù)綁定將問(wèn)題變得更簡(jiǎn)單開(kāi)始之前用NetBeans ,其實(shí)不用明白SAF,主要遵循一定的開(kāi)發(fā)原則也可以開(kāi)發(fā)出穩(wěn)定高效的SAF程序來(lái)但是為了你更深入的理解SAF,強(qiáng)烈建議看下面的文章lUsing the Swing Application Framework (JSR 296)lSwing應(yīng)用程序框架(Swing Application Framework)API緒論(JSR296)之一Swing應(yīng)用程序框架(Swing Application Framework)API緒論(JSR296)之二l如果你有更多的時(shí)間,那么請(qǐng)看下面網(wǎng)址有關(guān)Swing的部分開(kāi)發(fā)環(huán)境準(zhǔn)備提示:Netbeans 網(wǎng)站上提供有六種捆綁包下載lWeb amp。 Java EElMobilitylJava SElRubylC/C++lAll開(kāi)發(fā)Swing Application Framework只需要Java SE下載包就行了這樣能真正發(fā)揮NetBeans的性能!創(chuàng)建項(xiàng)目我們新建一個(gè)項(xiàng)目,從Java種類(lèi)里選擇 Java Desktop Application,如下圖點(diǎn)擊下一步,接著輸入項(xiàng)目名稱(chēng)、項(xiàng)目存放地址和程序的主類(lèi)在Choose Application Shell里面我們選擇Basic Application,單擊完成提示:我們?nèi)绻麆?chuàng)建基于Swing的數(shù)據(jù)庫(kù)程序,那么選擇BataBase Application將提供極大的便利。但是在這里我只是介紹Basic Application,也就是現(xiàn)在我們用SAF開(kāi)發(fā)普通的桌面程序。生成的項(xiàng)目目錄結(jié)構(gòu)lMETAINF/services目錄該目錄一般存在一個(gè)JAR包里面METAINF/services目錄涉及一個(gè)模式:服務(wù)提供者模式引入該模式一般是為了程序松散耦合,而且是IoC(控制反轉(zhuǎn))的另一種實(shí)現(xiàn)方式服務(wù)提供者模式一般有兩個(gè)角色178。服務(wù) :一般為一個(gè)抽象類(lèi)178。服務(wù)提供者 :抽象類(lèi)的實(shí)現(xiàn)存在METAINF/services目錄的JAR包一般為一個(gè)“服務(wù)提供者”用NetBeans開(kāi)發(fā)中小型程序不需要服務(wù)提供者概念,如果你要深入理解可以Baidu或Google一下METAINF/serviceslfoo包,NetBeans自動(dòng)為我們生成的,我們來(lái)看看NetBeans為我們生成了什么基礎(chǔ)框架類(lèi):publicclassFooAppextendsSingleFrameApplication{/***在啟動(dòng)的時(shí)候創(chuàng)建和顯示程序的主框架*/@Overrideprotectedvoidstartup(){show(newFooView(this))。}/***這個(gè)方法是用相應(yīng)的資源注入到特定的Window來(lái)初始化程序*因?yàn)槲覀冇肗etBeansk開(kāi)發(fā),所以相應(yīng)的資源是通過(guò)Gui生成器來(lái)完成*也就是不用我們手動(dòng)編寫(xiě)代碼*所以這個(gè)方法不是必須的*/@OverrideprotectedvoidconfigureWindow(root){}/***一個(gè)方便的靜態(tài)獲取器,用來(lái)獲取FooApp類(lèi)的實(shí)例*/publicstaticFooAppgetApplication(){return()。}/***程序的運(yùn)行入口點(diǎn)*/publicstaticvoidmain(String[]args){launch(,args)。}},開(kāi)發(fā)簡(jiǎn)單的程序這里基本上不需要更改什么。每個(gè)程序都應(yīng)該有一個(gè)關(guān)于界面,Netbeans為我們生成了關(guān)于的模板修改相應(yīng)文字就可以了,當(dāng)然也可以自己做個(gè)About界面由于生成的代碼比較多在解釋代碼之前,我先看看Design部分NetBenas給我們生成的框架非常簡(jiǎn)單明了需要注意的是圖上標(biāo)識(shí)的兩個(gè)地方標(biāo)有1的地區(qū)為消息地區(qū),我們的程序完成任務(wù)后,在這里提示消息標(biāo)有2的地區(qū)為任務(wù)進(jìn)度條,程序執(zhí)行任務(wù)時(shí)在這里現(xiàn)實(shí)任務(wù)進(jìn)度,當(dāng)然任務(wù)有確定模式和不確定模式,不確定模式的進(jìn)度條持續(xù)地顯示動(dòng)畫(huà)來(lái)表示正進(jìn)行的操作。:publicFooView(SingleFrameApplicationapp){super(app)。initComponents()。ResourceMapresourceMap=getResourceMap()。intmessageTimeout=()。messageTimer=newTimer(messageTimeout,newActionListener(){publicvoidactionPerformed(ActionEvente){()。}})。(false)。intbusyAnimationRate=()。for(inti=0。ii++){busyIcons[i]=([+i+])。}busyIconTimer=newTimer(busyAnimationRate,newActionListener(){publicvoidactionPerformed(ActionEvente){busyIconIndex=(busyIconIndex+1)%(busyIcons[busyIconIndex])。}})。idleIcon=()。(idleIcon)。(false)。//
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1