版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 南京工程學(xué)院搬操作系統(tǒng)課程設(shè)敖計說明書吧題擺 巴 八目昂 凹操作系統(tǒng)銀行阿家算法和頁面置頒換算法襖 埃 唉班 跋 級霸 稗 礙軟件101阿 巴 岸 板 盎學(xué) 生 姓 名拌 礙 奧劉 洋 白 扳 懊 爸學(xué) 伴 號 案 胺2021003拔20 奧 罷 拜 懊 課設(shè)截圖:源代碼:3個類:隘MainFra拔me.java挨:癌import澳 絆java.aw笆t.Font岸;暗import隘 白java.aw板t.event版.Action般Event骯;襖import頒 愛java.aw邦t.event伴.Action扮Listene安r按;澳import壩 瓣javax.s扮wing.Bu凹tt
2、onGro扳up藹;絆import胺 罷javax.s皚wing.JB巴utton癌;跋import熬 捌javax.s邦wing.JF芭rame翱;跋import佰 捌javax.s阿wing.JL昂abel藹;瓣import熬 襖javax.s凹wing.JP隘anel襖;哀import隘 懊javax.s唉wing.JR愛adioBut隘ton叭;拜import昂 擺javax.s頒wing.UI芭Manager笆;跋import把 澳javax.s拌wing.UI拜Manager頒.LookAn案dFeelIn扮fo埃;愛public隘 class 百MainFra皚me澳 exten
3、d笆s 案JFrame把 implem敖ents 皚ActionL哀istener擺 /* * */矮 頒private襖 static班 final 阿long 骯serialV斑ersionU癌ID愛 = 1L;昂 癌private白 百JPanel柏 panel1柏,panel2跋,panel3岸;哀 澳private伴 昂JLabel瓣 label1扒,label2跋;啊 啊private稗 拔JButton哀 button邦1;斑 頒private靶 艾JRadioB啊utton敗 b1,b2;敗 挨public癌 敗MainFra疤me叭() 拌霸 supe翱r(扒操作系統(tǒng)課程設(shè)芭
4、計芭);暗般 暗this.se俺tBounds吧(藹300, 15奧0, 800,把 500);巴跋 吧this.se藹tBackgr頒ound耙(俺java.aw瓣t.Color盎.LIGHT_百GRAY霸);背澳 巴this.se版tLayout熬(扳new 稗java.aw靶t.GridL扮ayout頒(3, 1)皚; 跋礙 pane罷l1=new 奧JPanel跋(跋);靶拜 pane版l2=new 拜JPanel按(版);奧版 pane扳l3=new 氨JPanel斑(艾); 挨疤 Font扳 f =new拌 Font(辦楷體凹,1,60)拌;岸熬 Font頒 f1=new爸 Fon
5、t(凹宋體搬,3,30)百;芭巴 Font叭 f2=new敗 Font(藹幼圓罷,1,15)班; 敗暗 labe盎l1=new 爸JLabel搬(暗操作系統(tǒng)課程設(shè)俺計岸);罷芭 叭label1.啊setFont拔(搬f);懊耙 labe板l2=new 敗JLabel白(埃算法模擬題目:癌);扒吧 拌label2.拔setFont八(拜f1);骯昂 澳panel1.爸add(扒label1)斑;礙哀 白panel2.癌add(壩label2)辦; 耙白 把ButtonG伴roup敖 罷bgroup拜=new 背ButtonG絆roup斑(安);拌白 b1=n白ew 叭JRadioB阿utton半
6、(壩銀行家算法啊,true)奧;艾暗 捌b1.setF頒ont(愛f1);背阿 叭bgroup.隘add白(藹b1);拜稗 b2=n捌ew 扳JRadioB霸utton靶(把頁面置換算法盎);皚版 靶b2.setF疤ont(拌f1);瓣熬 爸bgroup.澳add按(頒b2); 背愛 背panel2.奧add(艾b1);霸頒 柏panel2.昂add(敖b2);襖搬 butt胺on1=new柏 跋JButton傲(愛開始演示絆);斑伴 百button1疤.setFon癌t(邦f2);罷扮 傲button1熬.addAct邦ionList巴ener(敖this);凹拔 版panel3.拔add(
7、搬button1啊); 藹瓣 稗this.ad吧d胺(靶panel1)懊;懊拔 襖this.ad胺d隘(熬panel2)瓣;氨叭 奧this.ad翱d岸(柏panel3)挨;百般 敖this.se絆tDefaul邦tCloseO辦peratio案n半(翱EXIT_ON奧_CLOSE)搬;拜跋 白this.se班tVisibl熬e半(藹true); 耙芭public扳 void 邦actionP白erforme熬d邦(板ActionE班vent斑 e) 耙矮哀if(澳e.getSo隘urce八()=but骯ton1)絆矮邦扒if(拔b1.isSe拌lected(隘) 按唉耙岸巴new凹 Bank
8、er阿();扳凹柏耙if(把b2.isSe白lected(啊)搬霸敖扒芭new辦 白Yemian挨();啊斑public把 static敗 void m班ain (St挨ring 暗args霸) try巴頒骯for(熬LookAnd襖FeelInf鞍o柏 info :矮 埃UIManag辦er.getI扮nstalle罷dLookAn搬dFeels胺()骯稗扒阿if(把氨Nimbus矮.equals斑(斑info.ge熬tName搬()澳埃搬盎爸UIManag氨er.setL耙ookAndF昂eel扳(俺info.ge案tClassN柏ame鞍();皚暗暗巴阿break板;澳皚絆catch(凹
9、Excepti背on e1)暗 襖 跋new捌 辦MainFra阿me罷(); 扮Banker.昂java:捌import扳 昂java.aw拜t跋.*;隘import皚 佰java.aw哀t.event熬.*;藹import伴 盎java.ut凹il.Arra啊yList俺;稗import襖 敗javax.s敖wing壩.*;耙import艾 敖j(luò)avax.s班wing.ta巴ble.Def頒aultTab靶l(wèi)eCellR俺enderer辦;佰import白 癌javax.s頒wing.ta矮ble.Def扒aultTab唉leModel胺; 埃 爸public昂 class 懊 Banke
10、r板 extend斑s 暗JFrame按 implem啊ents 版ActionL稗istener /* * */擺八private壩 static癌 final 瓣long 叭serialV埃ersionU半ID敖 = 1L;扮捌private跋 百JTable巴 table1拌,table2絆;八 pri翱vate 版JPanel跋 p0,p1,拌p11,p12奧,p13,p1搬4,p2,p3扒,p31,p3氨2,p33,p吧34,p4,p礙5;爸 pri斑vate 昂JLabel矮 t1,t2,按t3,t4,t傲5,t6,t7佰,t8,t9,懊t10,t11柏;絆 巴private安 阿
11、JButton巴 b1,b2,巴b3,b4,b按5,b6;安 pri鞍vate 癌TextFie瓣ld柏 text01扮,text02稗,text03霸,text04案,text05昂,text06板;/拜編輯框罷 pri疤vate 邦JTextFi皚eld瓣 tex拔t1,text疤2,text3耙,text4,澳text5;/埃/瓣進(jìn)程組的數(shù)據(jù)暗 鞍Default辦TableMo跋del霸 tablem斑odel班,tablem襖odel1懊;艾 扒ArrayLi挨st疤 扮list ;皚 疤 百 矮 芭 按 澳 啊int瓣班 壩claim,a頒llocati癌on,need半; 氨 安i
12、nt背捌 avail胺able;瓣伴int邦癌 按request背,temava般il,rele扮ase版;唉 擺boolean扮捌 possi邦ble;唉 半int疤 阿m,n,ind白ex澳=0; 辦 胺public叭 Banker吧() 佰 半罷super(般銀行家算法模擬艾);爸 叭伴p0=new 捌JPanel稗(絆);吧 瓣骯p1=new 瓣JPanel挨(鞍);頒 唉敗p11=new翱 藹JPanel啊(俺);白 艾挨p12=new伴 岸JPanel拜(疤);埃 澳襖p13=new般 扮JPanel靶(翱);襖 安絆p14=new背 氨JPanel辦(愛);巴 啊按p2=new
13、皚JPanel壩(暗);拜 襖巴p3=new 愛JPanel扒(胺);稗 奧頒p31=new柏 邦JPanel翱(班);捌 拌哀p32=new艾 跋JPanel胺(班);般 稗翱p33=new伴 哎JPanel哎(捌);跋 挨爸p34=new愛 藹JPanel案(芭);耙 懊昂p4=new 懊JPanel扮(傲);拔 敖按p5=new 鞍JPanel霸(壩); 笆 盎啊p0.setL叭ayout(爸new 癌GridLay奧out鞍(5,1);凹 瓣耙p1.setL隘ayout(按new 懊GridLay安out哀(4,1);翱 襖隘p3.setL翱ayout(愛new 八GridLay頒ou
14、t哀(4,1); 胺 壩扳p1.add(艾p11);班 頒搬p1.add(般p12);奧 拔搬p1.add(巴p13);礙 耙耙p1.add(凹p14); 鞍 叭吧p3.add(凹p31);搬 艾鞍p3.add(芭p32);凹 巴案p3.add(柏p33);阿 隘隘p3.add(百p34); 罷 笆百p0.add(阿p1);岸 白哎p0.add(熬p2);敖 白耙p0.add(敖p3);芭 啊叭p0.add(挨p4);板 搬熬p0.add(俺p5); 八 拔扳白t1=new 辦JLabel瓣(氨進(jìn)程數(shù)白);耙 襖巴耙t2=new 熬JLabel皚(吧資源數(shù)暗);扳 扳俺搬t(yī)3=new 案JLa
15、bel斑(辦進(jìn)程號皚);骯 熬凹癌t4=new 皚JLabel案(鞍已分配拜資稗資源叭:);艾 捌疤邦t5=new 拔JLabel斑(搬資源最大需求昂:); 岸 熬熬皚t6=new 扒JLabel佰(骯可用資源八:);般阿拌 澳皚熬t7=new 澳JLabel哎(吧請求資源進(jìn)程號拔);骯 啊佰襖t8=new 礙JLabel按(熬請求資源為哎);罷 扳按絆t9=new 笆JLabel般(跋釋放資源俺);擺 伴癌胺t10=new挨 鞍JLabel案(邦安全序列安);唉 藹柏懊t11=new版 暗JLabel頒(拜釋放資源進(jìn)程號般); 奧 骯斑澳b1=new 頒JButton拌(皚確定扒);翱 白盎
16、案b2=new 般JButton八(吧添加按);盎 岸拜板b3=new 暗JButton斑(襖確定俺);矮 艾敖挨b4=new 礙JButton邦(巴請求奧);叭 八敖拜b5=new 佰JButton敗(拌開始檢測傲);懊 八版熬b6=new 靶JButton埃(把釋放版); 搬 百鞍頒text1=n拌ew 挨JTextFi壩eld版礙6;扮 熬 text2=礙new 搬JTextFi版eld奧巴6;耙 辦 text3=拔new 襖JTextFi懊eld襖敖6;爸 佰 text4=暗new 熬JTextFi案eld板板6;百 愛 text5=背new 疤JTextFi埃eld疤辦6;鞍 伴埃柏
17、for(疤int俺 i=0;i癌5;i+) 懊 絆按艾俺text1擺i=new 白JTextFi罷eld半(4);半 扒靶隘 稗text2按i=new 氨JTextFi頒eld艾(4);愛 鞍礙岸 頒text3版i=new 靶JTextFi艾eld邦(4);鞍 瓣奧挨 八text4柏i=new 扮JTextFi礙eld按(4);白 扮癌邦 奧text5跋i=new 阿JTextFi壩eld靶(4); 拜 挨敗唉text01=耙new 瓣TextFie半ld瓣(斑4);搬 啊邦挨text02=拔new 奧TextFie搬ld唉(跋4);般 背邦般text03=扳new 礙TextFie昂ld懊(
18、疤4);岸 敖跋辦text04=拜new 耙TextFie百ld襖(瓣4);板 般岸扒text05=半new 搬TextFie笆ld骯(俺4);澳 疤愛奧text06=把new 邦TextFie唉ld隘(翱20);拜 氨般頒String案 colum絆nNames1挨= 霸進(jìn)程號扳, 俺allocat耙ion,c辦laim,皚need,癌availab耙le熬; 稗 搬跋tablemo邦del背=版new 扳Default叭TableMo擺del胺(column白Names1,佰0);愛 擺氨table1 吧= new 安JTable澳 (案tablemo稗del辦);頒 凹八table1.拔
19、setPref板erredSc俺rollabl般eViewpo藹rtSize(跋new Dim扮ension(凹700, 20矮0); 半 扳扮table1.擺setRowH板eight (氨20); 敖 癌藹table1.敗doLayou疤t ();翱 凹把Default靶TableCe捌llRende耙rer盎 r = ne哀w 笆Default敗TableCe板llRende版rer芭(搬); 佰伴芭r.setHo哎rizonta傲lAlignm藹ent霸(邦JLabel.翱CENTER矮); 阿哎邦table1.罷setDefa巴ultRend襖erer(疤Object.巴class,
20、r伴);擺 鞍扒JScroll凹Pane扒 pane1 邦= new 俺JScroll矮Pane哀 (table邦1); 白 吧翱暗p11.add把(熬t1);敖 骯柏背p11.add癌(巴text01)巴;白 絆隘辦p11.add矮(八t2);案 敖跋疤p11.add叭(辦text02)稗;伴 拜礙啊p11.add艾(啊b1);隘 霸矮八p12.add擺(頒t3);昂 哎版癌p12.add啊(柏text03)挨;骯 埃皚靶p12.add擺(爸b2);唉 版稗奧p13.add班(翱t4);半 巴傲白for(氨int埃 i=0;i罷5;i+)案 啊背耙p13.add芭(稗text1i安);把 頒
21、拜邦p14.add伴(啊t5);邦 哎襖拔for(白int暗 i=0;i扒5;i+)唉 罷辦懊p14.add藹(翱text2i頒); 八 跋阿般p2.add 艾(pane1)邦; 靶 皚氨疤p31.add般(半t6);瓣 霸扳芭for(案int佰 i=0;i皚5;i+)敖 胺耙凹p31.add傲(拔text3i岸); 罷 阿罷扳p31.add哀(跋b3); 辦 哀頒骯p32.add瓣(盎t7);扒 捌百壩p32.add爸(骯text04)隘;胺 伴疤俺p32.add辦(班t8);氨 班拔扒for(襖int埃 i=0;i稗5;i+)鞍 版啊頒p32.add辦(俺text4i佰); 翱 澳奧礙p3
22、2.add岸(懊b4);白 瓣跋把p33.add捌(板t11);拌 笆凹襖p33.add扒(艾text05)板;懊 瓣耙p33.add按(熬t9);凹 半安for(板int哎 i=0;i擺5;i+)斑 笆挨胺p33.add扳(壩text5i搬);骯 奧八p33.add癌(搬b6); 瓣 扮疤p34.add班(傲b5); 岸 笆霸String吧 colum翱nNames2柏= 百進(jìn)程號盎, cur班rentava半il,ne吧ed,al皚locatio盎n,cur把r.+al扳lo.,暗possib唉le; 半 辦熬tablemo奧del1=ne八w 把Default辦TableMo皚del跋(
23、頒columnN案ames2,0稗);藹 辦班table2 藹= new 般JTable扮 (table矮model1)氨;拜 埃百table2.癌setPref哀erredSc鞍rollabl按eViewpo盎rtSize(昂new Dim疤ension(扒700, 20佰0); 盎 埃暗table2.阿setRowH艾eight (稗20); 伴 唉安table2.案doLayou絆t ();佰 案笆Default傲TableCe白llRende百rer岸 r1 = n板ew 扳Default鞍TableCe跋llRende啊rer巴(擺); 隘盎柏r1.setH奧orizont八alAl
24、ign敗ment(頒JLabel.暗CENTER八); 扮霸扳table2.斑setDefa班ultRend耙erer(癌Object.唉class,r礙1);澳 按按JScroll背Pane霸 pane2 昂= new 敗JScroll扳Pane拔 (table爸2); 擺 耙敖p4.add 唉(pane2)昂;八 藹哀扒p5.add(笆t10);般 翱翱氨p5.add(霸text06)白;埃 版扒哎b1.addA氨ctionLi皚stener(笆this);氨 半斑伴b2.addA百ctionLi頒stener(笆this);班 癌阿按b3.addA愛ctionLi胺stener(拜thi
25、s);癌 柏柏昂b4.addA皚ctionLi翱stener(懊this); 藹 捌熬澳b5.addA敖ctionLi阿stener(氨this);般 挨懊絆b6.addA鞍ctionLi埃stener(拌this);捌 襖稗p0.setB伴ackgrou艾nd (柏Color.l靶ightGra啊y稗); 佰 癌百list皚 = new 挨ArrayLi岸st敖(); 敖 扳骯this.se伴tConten愛tPane稗 (p0);邦 暗頒this.se哀tVisibl芭e傲(捌true);熬 罷絆this.pa唉ck跋(岸);翱 疤班this.se盎tLocati斑on巴(把300, 10
26、叭);半 笆藹this.se暗tDefaul鞍tCloseO芭peratio瓣n鞍(埃JFrame.懊HIDE_ON癌_CLOSE哀); 拜柏public叭 void 艾actionP伴erforme扳d爸(胺ActionE矮vent霸 e) 絆胺吧 跋if(翱e.getSo氨urce藹()=b1)把 盎 懊 唉 氨 埃骯 翱 唉笆 盎 罷哎try白挨 罷 傲絆扮m= 盎Integer敖.parseI擺nt百(澳text01.半getText盎(); 笆版 背 盎骯catch頒(跋NumberF敖ormatEx扮ception昂 e1) 暗懊耙絆搬暗JOption拜Pane.sh壩owMess
27、a邦geDialo敗g爸(this,罷進(jìn)程數(shù)不能為空啊);傲骯斑暗把百return耙;唉胺 俺 頒愛try哎懊 奧 芭 n = 哀Integer隘.parseI阿nt搬(芭text02.爸getText傲();扮哎 唉 般礙catch氨(按NumberF凹o(jì)rmatEx靶ception哎 e1) 白翱奧礙凹芭JOption爸Pane.sh疤owMessa哎geDialo俺g版(this,擺資源數(shù)不能為空壩);疤斑斑懊案絆return巴;懊霸 巴 罷claim鞍= new 般int絆mn;隘俺 礙 啊need=阿new 氨int哎mn;背襖 壩 絆allocat拔ion跋 = new 半int稗
28、mn;拌胺 斑 伴availab罷le耙 = new 岸int唉n;八班 伴 吧request胺 = new 哎int百n;礙盎 按 耙release癌=襖new 爸int安n;扳板 百 埃for(稗int吧 i=0;i礙5-n;i+暗)擺扮 埃伴 稗p13.rem絆ove(礙text14礙-i);擺版 辦案案p13.upd稗ateUI(壩);敖襖 絆暗吧熬 藹擺佰for(稗int笆 i=0;i拔5-n;i+拌)敖矮 俺頒 鞍p14.rem暗ove(啊text24傲-i);捌罷 稗鞍耙p14.upd埃ateUI(半);鞍埃 辦般壩按 絆凹耙for(搬int按 i=0;i懊5-n;i+翱)耙昂
29、翱霸班p31.rem挨ove(安text34熬-i);昂熬 敗擺澳p31.upd癌ateUI(吧);藹愛 稗半礙哀 邦伴柏for(斑int瓣 i=0;i挨5-n;i+拌)百邦叭 邦版p32.rem頒ove(壩text44鞍-i);盎般盎 襖八p32.upd搬ateUI(邦);壩捌拔 般懊跋凹 頒愛for(頒int板 i=0;i瓣5-n;i+唉)版懊礙骯 罷p33.rem扮ove(凹text54奧-i);辦靶翱暗 敗p33.upd拔ateUI(按);凹懊藹辦 靶temavai氨l巴=擺new 壩int辦n; 壩胺八拌 Str耙ing 埃str爸斑=,盎,俺,啊;擺啊跋澳 傲for(愛int皚 i
30、=0;i=耙m) 搬柏笆頒拌JOption艾Pane.sh扮owMessa奧geDialo扮g盎(this,絆進(jìn)程個數(shù)已滿百);骯按斑疤扒return傲;try跋阿扳埃for(靶int芭 j=0;j阿n;j敖+) 奧鞍爸挨絆allocat凹ion擺index藹j=藹Integer白.parseI拔nt襖(text1叭j.拜getText板();霸盎斑扒艾claim扳index安j=八Integer伴.parseI叭nt艾(text2搬j.岸getText壩();白啊辦芭傲need翱index阿j=clai般mindex板j-al叭locatio半nindex癌j; 礙壩鞍扳catch氨(Exc
31、ept敗ion f)案罷疤盎爸笆name爸index=安盎P+inde搬x靶;扳愛芭傲 Str耙ing 芭strd斑扮=,哀,按,;稗把搬艾板strd搬俺0=name挨index隘; 搬擺拜扳擺for(壩int頒 j=0;j半n;j背+)阿斑矮扳扮癌板strd氨佰1+=all扳ocation爸index愛j+ 凹 ;百八凹笆 跋for(巴int絆 j=0;j班n;j埃+)熬罷八巴哎 叭罷扳霸爸 頒strd壩哎2+=cla暗iminde俺xj+骯 ;背靶扒氨 愛罷挨拌 耙for(安int霸 j=0;j斑n;j伴+)埃岸熬按俺 岸鞍扳般耙 拌strd唉案3+=nee藹dindex癌j+ 耙 ;艾氨
32、擺藹 班叭敖伴 皚strd凹捌4= ;靶襖扮靶 隘tablemo襖del.add挨Row骯(伴strd暗);拌熬疤鞍 熬index骯+; 熬靶哀 隘if(敖e.getSo柏urce奧()=b3) 隘拌柏拌 癌try埃邦氨頒扳 稗for(阿int盎 i=0;i艾n;i搬+) 骯背氨爸澳皚 跋availab阿le凹i=班Integer爸.parseI斑nt瓣(text3按i.懊getText吧();岸按哀傲胺 柏temavai矮l氨八i=avai罷lablei擺; 艾瓣伴鞍翱 伴catch愛(柏NumberF敖ormatEx靶ception案 f) 罷隘癌芭阿藹捌JOption敖Pane.sh哀o
33、wMessa昂geDialo爸g疤(this,案可用資源不能為柏空,請重新輸入班);襖疤頒般礙班扮return稗;瓣扮霸敗吧 板拔翱唉 String阿 案str笆=;礙稗百昂 辦for(阿int跋 i=0;i伴n;i般+)拜翱扒艾叭 笆str暗+=avail艾ablei岸+ ;隘般礙懊 埃tablemo斑del.set斑ValueAt案(按str案, 0, 4)皚; 頒搬骯 笆if(哀e.getSo辦urce皚()=b5) 俺俺拜矮 笆list.cl鞍ear斑(骯);班熬懊敖 襖safe(把);愛笆邦斑 矮for(疤int把 i=0;i胺table1.胺getRowC骯ount();耙i+)愛
34、案爸氨擺 唉tablemo昂del1.re哎moveRow靶(版0);耙隘疤哎 update扒_礙table2(拔);巴跋 斑霸捌 熬if(捌e.getSo百urce唉()=b4) 暗敖爸班 吧for(擺int岸 i=0;i柏n;i按+)疤拌隘愛 埃耙哀敗礙 罷try扒岸爸跋俺襖 澳request芭敖i=把Integer拔.parseI扒nt矮(text4藹i.百getText佰();耙壩版昂拌安 扮catch斑(罷NumberF巴ormatEx襖ception叭 f1) 半頒拌氨澳拌礙 斑JOption巴Pane.sh藹owMessa唉geDialo拌g懊(this,佰請求資源不能襖 辦為空
35、,請重新輸拌入絆);按絆吧敖霸隘岸俺return跋; 巴翱邦瓣 把request搬resourc氨e叭(頒); 敖鞍拜 礙if(扒e.getSo啊urce扒()=b6) 哎骯爸盎for(拜int傲 i=0;i把n;i半+)敖傲胺熬 隘稗版靶按 斑try搬唉芭懊澳頒 傲release霸唉i=伴Integer安.parseI隘nt敗(text5拌i.拔getText挨();耙笆昂懊礙隘 愛catch伴(氨NumberF癌ormatEx佰ception百 f1) 伴鞍拌埃岸般隘 懊JOption隘Pane.sh澳owMessa耙geDialo擺g邦(this,百釋放資源不能藹 扮為空,請重新輸骯入靶
36、);暗巴稗頒笆絆胺 半return頒; 盎芭胺柏 頒release昂resourc敗e襖(板); 澳佰private澳 佰boolean佰 safe()吧 霸敖伴boolean骯 result八 =false敖;凹拔捌for(吧int絆 i=0;i胺m;i艾+)稗耙 頒百艾盎int挨 j=0;扒拔板 柏while(安jm)白班巴 靶扳氨襖 隘boolean澳 can =t翱rue;班稗癌擺 靶for(氨int頒 k=0;kava捌ilable疤k)熬唉盎吧扮can=澳false; 般 斑奧佰 伴藹藹癌 瓣if(扒can&!叭list.co稗ntains埃(Objec笆t)j)耙敖 隘哎 半靶昂
37、罷拔 哎list.ad拌d矮(邦j);昂捌岸氨岸 拜for(傲int奧 k=0;k=m)拌般凹笆 哎break柏; 氨靶板 跋if(霸i=m-1)伴矮瓣敖break愛; 百氨if(扒list.si疤ze埃()=m)班安絆for(扮int按 k=0;k敖n;k俺+)岸艾板岸 昂availab擺le扒k=百temavai拌l擺k;埃哀氨result=伴true;半柏辦return芭 result白;扒 熬public般 void u昂pdate_t哎able1() 板頒 爸int版 index1芭=胺Integer白.parseI芭nt擺(text04版.getTex懊t();岸罷 Strin挨g
38、 澳str擺扮=,辦,; 拌疤白 藹for(岸int壩 k=0;k拜n;k稗+)頒挨安 八str版扒0+=all礙ocation阿index1隘k+ 胺 ;安巴佰礙 俺tablemo笆del.set挨ValueAt班(頒str愛0, in班dex1, 1跋);礙頒靶 唉for(挨int襖 k=0;k扮n;k暗+)邦敖笆頒 岸str背斑1+=nee伴dindex挨1k+敗 ;扮敗跋辦 伴tablemo癌del.set頒ValueAt芭(靶str爸1, in爸dex1, 3奧);懊敗藹 瓣for(哎int盎 k=0;k搬n;k笆+)八板熬扮 八str皚版2+=ava敖ilable瓣k+ 搬;半疤奧
39、霸 疤tablemo扮del.set骯ValueAt隘(板str啊2, 0,隘 4); 頒 傲public暗 void u霸pdate_t艾able2() 瓣芭 癌if(吧safe() 扒愛瓣 St拜ring te佰mp = 盎;奧哎擺辦 伴for(叭Integer斑 x:list骯)埃佰傲 罷叭氨白 胺temp吧 += (懊P+x叭 + ,)凹;俺澳鞍瓣 Str伴ing 稗str埃按=,芭,皚,胺;氨跋吧礙 敗str拔扳0=阿P+x半; 傲阿把礙 扳for(爸int頒 k=0;k俺n;k皚+)愛扮暗昂 安 氨str叭奧1+=ava巴ilable挨k+ 哎; 頒罷昂皚 叭for(絆int安 k
40、=0;k藹n;k搬+)傲斑俺挨巴 案str把隘2+=nee藹dxk拜+ ; 笆吧爸襖 矮for(吧int扮 k=0;k愛n;k板+)愛扮啊絆襖 傲str把拌3+=all奧ocation敖xk+把 ; 矮半頒瓣 霸for(愛int半 k=0;k般n;k佰+)哀把瓣啊 阿 般availab八le邦k+=all礙ocation瓣xk; 巴安凹叭 哎for(班int拔 k=0;k搬n;k巴+)板擺俺埃爸 耙str凹埃4+=ava靶ilable拌k+ 鞍;扮翱澳跋 翱str佰疤5=Tru氨e;礙凹盎瓣 敖tablemo芭del1.ad傲dRow(靶str哎);俺佰胺 百骯罷 扮埃 敗鞍拜邦 愛for(拌
41、int耙 k=0;k藹n;k盎+)絆愛澳藹 靶availab安le鞍k=哀temavai阿l版k;啊吧胺阿 癌text06.俺setText懊(斑temp); else 艾啊暗 text0扒6.setTe疤xt(哎不存在安全序列凹);搬辦暗 昂JOption挨Pane.sh把owMessa岸geDialo壩g把(this, 扮背系統(tǒng)處于不安全敗狀態(tài),不能分配昂資源暗!);昂八頒 疤return胺; 霸 把public把 void 阿request皚resourc斑e半() 敖岸 辦int挨 index1哀=敗Integer翱.parseI鞍nt艾(text04奧.getTex邦t();哎耙 愛
42、for(艾int凹 i=0;i胺n;i芭+) 礙凹哎 瓣if(半request白i=ne叭edinde哎x1i&鞍&reques巴ti=a阿vailabl柏ei) 巴罷傲藹 氨temavai壩l俺熬i-=req矮uesti骯;耙班邦暗 襖allocat隘ion阿index1頒i+=re拌questi隘;叭壩熬斑 皚need跋index1伴i-=re辦questi捌;安絆班白 阿if(扳safe()懊 矮襖氨挨瓣 updat百e_挨table1(皚); 骯挨盎霸 般else 頒艾稗安凹 白temavai擺l暗辦i+=req白uesti案; 安伴扒 般else 稗巴暗跋 板JOption岸Pane
43、.sh安owMessa案geDialo辦g哎(this, 哎安系統(tǒng)資源不足,礙申請被拒絕!擺);鞍昂盎澳 澳return敗; 啊 把public癌 void 絆release拜resourc版e敗() 胺奧 爸int傲 index2愛=案Integer疤.parseI皚nt頒(text05拌.getTex骯t();矮翱 白for(捌int啊 i=0;i敖n;i背+) 愛吧襖 柏availab阿le懊i+= re稗leasei奧;邦辦懊 半temavai按l襖頒i+=rel捌easei百;阿哀熬 襖allocat絆ion挨index2拜i-=re傲leasei骯;般熬隘 胺need鞍index2
44、絆i+=re凹leasei愛; 鞍案 update拔_扳table1(白); 翱Yemian跋.java芭:隘import胺 疤java.aw柏t.Color跋;胺import礙 阿java.aw傲t.GridL疤ayout盎;白import半 哎java.aw翱t.event澳.Action皚Event把;傲import阿 罷java.aw鞍t.event吧.Action鞍Listene愛r安;半import藹 白java.ut熬il.Arra把yList暗;班import扳 白java.ut翱il.Link霸edList隘;隘import巴 斑javax.s般wing扳.*;俺public
45、吧 class 凹Yemian吧 extend懊s 俺JFrame敗 implem拜ents 拌ActionL藹istener/* * */半唉private稗 static岸 final 版long 吧serialV哀ersionU隘ID奧 = 1L;艾俺private白 唉int懊 懊mSIZE盎=20;/挨頁昂框最大埃個數(shù)罷按private拜 static唉 昂int壩 熬pSIZE翱=20;/頒頁面最大個數(shù)稗哎private八 static半 隘int骯 proces芭s=new拜 柏int靶盎pSIZE頒;/愛隨機(jī)產(chǎn)生的頁面埃走向骯盎static拔 String哀 板memStri笆
46、ng頒=;疤挨private頒 罷JButton氨 胺demoFIF佰O礙;拜挨private藹 阿JButton藹 懊demoLRU敗;胺叭private拜 絆JComboB罷ox耙 produc澳e;/邦隨機(jī)產(chǎn)生或輸入隘數(shù)據(jù)伴隘private背 澳JTextAr癌ea笆 把fifoAre班a把;擺頒private半 矮JTextAr巴ea奧 板lruArea凹;凹哀private擺 半JButton吧 搬makePro敗cess疤;/伴頁面靶背private按 襖JButton盎 罷makemem辦ery壩;/版頁框皚半private澳 案JLabel懊 吧process按Label頒;瓣
47、稗private叭 頒JLabel把 凹makePLa愛bel拜;澳版private板 皚JLabel芭 敗makeMLa安bel哎;拔隘private捌 阿JTextFi按eld俺 凹process拔Field拜;奧版private案 按JTextFi捌eld氨 靶memeryF哀ield八;佰隘private矮 埃JPanel佰 佰produce巴Panel愛;唉熬private背 叭JPanel笆 扒inputme愛mery岸;礙白private佰 般JPanel柏 皚inputpr擺ocess爸;澳絆private跋 擺JPanel愛 奧lruPane骯l挨;安八private阿 百J
48、Panel骯 白fifoPan爸el拔;俺哀private埃 挨JScroll柏Pane案 佰lruScro吧llPane哎;拔版private奧 拔JScroll隘Pane氨 吧fifoScr斑ollPane矮;啊啊public柏 百Yemian白()哎骯扳super(半頁面置換算法埃 FIFO氨、白LRU);芭翱啊demoFIF昂O霸=new 板JButton鞍(霸演示敖FIFO);按芭斑demoLRU跋=new 半JButton凹(胺演示背LRU);挨吧搬String 昂xz矮=懊隨機(jī)頁面序列暗,皚輸入頁面序列襖;矮拜愛produce拜=鞍new 皚JComboB罷ox皚(挨xz吧);懊
49、柏癌process扒Label奧=new 按JLabel笆(盎頁號序列骯);哎佰疤makemem稗ery佰=new 拌JButton傲(唉確定頁框個數(shù)敖);案辦搬makeMLa靶bel凹=new 翱JLabel盎(安請輸入頁框個數(shù)耙:);伴艾霸makePro搬cess拜=new 拔JButton皚(拌確定頁面?zhèn)€數(shù)斑);絆礙翱makePLa耙bel埃=new 半JLabel扳(頒請輸入頁面?zhèn)€數(shù)板:);瓣班疤produce八Panel百=芭new 疤JPanel扮(new 凹GridLay艾out皚(2,1);案斑凹produce斑Panel.s骯etBackg鞍round芭(奧Color.Y伴E
50、LLOW邦);爸安扮inputme爸mery板=靶new 按JPanel跋();搬擺耙inputme鞍mery.se啊tLayout柏(鞍null);瓣氨般inputme岸mery.se俺tBackgr頒ound耙(敖Color.G拌REEN半);敖埃般inputpr百ocess敗=敖new 奧JPanel半();叭拔板inputpr埃ocess.s敗etLayou扮t叭(爸null);傲按霸inputpr柏ocess.s胺etBackg斑round瓣(癌Color.M凹AGENTA頒);瓣襖襖lruPane骯l唉=瓣new 百JPanel奧();絆頒扒lruPane瓣l.setLa頒yout
51、芭(擺null);熬敖哎lruPane叭l.setBa版ckgroun鞍d伴(安Color.P辦INK扳);叭百百fifoPan霸el艾=胺new 佰JPanel瓣();扒鞍靶fifoPan懊el.setL昂ayout傲(案null);辦辦按fifoPan板el.setB瓣ackgrou壩nd癌(矮Color.O皚RANGE敖);柏拔霸process瓣Field八=哎new 擺JTextFi扒eld盎();隘奧艾memeryF敗ield唉=稗new 癌JTextFi罷eld翱();敖稗般fifoAre懊a阿=凹new 襖JTextAr壩ea懊();昂鞍昂lruArea扒=唉new 懊JText
52、Ar擺ea半();昂按扳fifoScr班ollPane拌=頒new 罷JScroll扒Pane拜(澳fifoAre邦a安);案芭邦lruScro疤llPane昂=班new 爸JScroll吧Pane扒(凹lruArea唉);暗般柏this.se拔tLayout敗(安null);奧邦愛this.se八tBackgr敗ound跋(斑Color.B愛LUE昂);靶胺芭produce跋Panel.s靶etBound安s澳(八5, 5, 7絆06, 90)辦;爸?jǐn)“糹nputme壩mery.se啊tBounds白(翱5, 95, 瓣200, 22俺0);擺澳霸inputpr扒ocess.s霸etBoun
53、d阿s辦(拌5, 320,啊 200, 2安20);八阿凹fifoPan般el.setB按ounds笆(昂210, 95搬, 210, 昂450);瓣昂把lruPane癌l.setBo胺unds案(耙500, 95白, 210, 按450);奧敗扒this.ad稗d襖(辦produce斑Panel扒);擺艾半this.ad擺d班(笆inputme啊mery挨);把霸般this.ad艾d襖(伴inputpr稗ocess絆);襖般耙this.ad柏d靶(邦fifoPan吧el搬);扳挨伴this.ad稗d罷(愛lruPane疤l昂);扒佰吧makeMLa佰bel.set扒Bounds盎(斑30,
54、15,扳 170, 4拜5);盎矮壩memeryF斑ield.se伴tBounds白(盎30, 85,骯 150, 4拔0);捌藹礙makemem奧ery.set百Bounds礙(叭30, 140岸, 150, 跋45);骯壩哀inputme佰mery.ad哎d半(捌makemem稗ery隘);骯矮癌inputme按mery.ad背d哀(矮memeryF骯ield挨);稗昂澳inputme笆mery.ad笆d拜(襖makeMLa百bel吧);絆盎暗makePLa敖bel.set愛Bounds熬(癌30, 15,把 170, 4盎5);鞍搬靶process捌Field.s胺etBound靶s靶(
55、按30, 85,耙 150, 4阿0);唉傲霸makePro癌cess.se跋tBounds哎(暗30, 140岸, 150, 吧45);氨阿敗inputpr辦ocess.a佰dd叭(半makePLa按bel奧);哎叭皚inputpr岸ocess.a罷dd搬(拜process艾F(xiàn)ield爸);叭班按inputpr柏ocess.a瓣dd胺(藹makePro癌cess拌);擺伴鞍produce辦.setBou笆nds暗(吧150, 25巴, 150, 唉45);爸瓣岸demoFIF暗O.setBo頒unds壩(吧60, 385藹, 90, 4唉5);骯佰哎demoLRU哀.setBou辦nds背(
56、把60, 385柏, 90, 4懊5);白芭白process芭Label.s瓣etBound按s俺(骯320, 10矮, 500, 辦60);岸疤翱fifoScr埃ollPane八.setBou佰nds耙(搬15, 30,耙 180, 3傲20);版癌搬fifoPan埃el.add啊(阿fifoScr頒ollPane暗);稗俺霸fifoPan稗el.add氨(奧demoFIF靶O哀);哎吧拔lruScro斑llPane.愛setBoun愛ds跋(版15, 30,扳 180, 3奧20);捌吧柏lruPane瓣l.add澳(板lruScro唉llPane耙);搬懊氨lruPane骯l.add藹(
57、皚demoLRU哎);翱礙般produce氨Panel.a暗dd板(把produce拔);懊哎哀produce皚Panel.a辦dd叭(鞍process藹Label絆);擺罷耙produce阿.addAct埃ionList鞍ener絆(扒this);澳把癌demoFIF罷O.addAc矮tionLis靶tener骯(柏this);芭氨骯demoLRU骯.addAct瓣ionList巴ener靶(拜this);絆熬疤makemem鞍ery.add擺ActionL盎istener拌(白this);鞍邦巴makePro稗cess.ad俺dAction俺Listene扳r白(挨this);拔啊骯thi
58、s.se按tBounds巴(八300, 50叭, 750, 八600);愛藹矮this.se笆tVisibl叭e隘(哎true);邦皚壩this.se瓣tDefaul艾tCloseO笆peratio半n胺(藹JFrame.凹HIDE_ON擺_CLOSE拜);罷班public稗 void 擺actionP拔erforme埃d背(氨ActionE翱vent胺 e)版敖艾if艾 (盎e.getSo靶urce懊()=pro拌duce)瓣把凹阿if(暗produce柏.getSel懊ectedIt懊em吧().捌toStrin霸g巴()=伴隨機(jī)頁面序列懊)鞍頒鞍百盎build(艾);笆拌扳皚熬fifoA
59、re凹a.setTe襖xt辦(芭);壩傲隘鞍挨lruArea斑.setTex翱t斑(辦);胺絆哎澳拜inputpr捌ocess.a板dd靶(疤makePLa白bel拌);熬胺安笆捌inputpr奧ocess.a礙dd胺(辦process把Field岸);伴絆擺巴巴inputpr壩ocess.a捌dd敗(伴makePro笆cess爸);伴拔伴哀板inputpr壩ocess.u礙pdateUI胺(哀);笆敖隘霸if(百produce耙.getSel耙ectedIt皚em扳().盎toStrin暗g把()=板輸入頁面序列埃)凹昂俺叭扮inputpr矮ocess.r啊emove藹(爸makePro埃c
60、ess阿);搬凹敖壩靶inputpr翱ocess.r巴emove吧(藹makePLa罷bel笆);擺擺骯啊瓣inputpr瓣ocess.r八emove壩(傲process罷Field拌);八埃澳伴絆inputpr隘ocess.u把pdateUI艾(敗);辦跋敖百阿String 矮str氨=隘背JOption疤Pane.sh哎owInput昂Dialog唉(this, 癌絆請輸入頁面序列愛(搬格式為:拌1,2,3案,耙.);邦拌班把啊if(安str巴=null)巴捌靶敗靶隘JOption班Pane.sh盎owMessa隘geDialo白g奧(this,熬無效值拌);拔擺隘暗白板return搬;案
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工程施工合同補充協(xié)議模板
- 2024保險合同解除的原因
- 2024年度某玩具公司向某國外買家出口玩具產(chǎn)品的合同
- 五方土地買賣合同
- 2024裝修裝飾合同范本
- 攝影設(shè)備購買合同樣本
- 產(chǎn)品眾籌合作意向書
- 2024花生買賣合同范文
- 2024【溫室大棚建造】溫室大棚建造合同范本2
- 2024展會布置合同
- 2024-2025學(xué)年九年級上學(xué)期期中考試英語試題
- 電子發(fā)票管理系統(tǒng)開發(fā)與維護(hù)合同
- 四川新農(nóng)村建設(shè)農(nóng)房設(shè)計方案圖集川西部分
- 浙江省杭州市2024年中考英語真題(含答案)
- 安全工程導(dǎo)論課件:事故致因理論
- 山東省青島實驗中學(xué)2024-2025學(xué)年七年級上學(xué)期期中考試數(shù)學(xué)試題(無答案)
- 2024年安能物流合作加盟協(xié)議版
- 質(zhì)量管理體系過程方法和風(fēng)險思維專業(yè)解讀與應(yīng)用之7:5 領(lǐng)導(dǎo)作用-5.3組織的崗位、職責(zé)和權(quán)限(雷澤佳編制-2024B1)
- 地面找平專項施工方案
- 初三化學(xué)-水的凈化省公開課獲獎?wù)n件說課比賽一等獎?wù)n件
- 2024-2030年中國財稅服務(wù)行業(yè)市場深度調(diào)研及發(fā)展前景與投資研究報告
評論
0/150
提交評論