版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)報(bào)告華北科技學(xué)院計(jì)算機(jī)系綜合性實(shí)驗(yàn)實(shí) 驗(yàn) 報(bào) 告 課程名稱 java程序設(shè)計(jì) 實(shí)驗(yàn)學(xué)期 2011 至 2012 學(xué)年 第 1 學(xué)期學(xué)生所在系部 基礎(chǔ)部 年級 2009 專業(yè)班級 計(jì)算b092 學(xué)生姓名 學(xué)號 任課教師 實(shí)驗(yàn)成績 計(jì)算機(jī)系制java程序設(shè)計(jì)課程綜合性實(shí)驗(yàn)報(bào)告開課實(shí)驗(yàn)室: 基礎(chǔ)實(shí)驗(yàn)室 2011 年 12 月 5 日實(shí)驗(yàn)題目簡易寫字板軟件設(shè)計(jì)一、 實(shí)驗(yàn)?zāi)康膇. 通過編寫java的應(yīng)用系統(tǒng)綜合實(shí)例簡易寫字板軟件,總結(jié)、回顧和實(shí)踐面向?qū)ο蟮木幊趟枷胍约熬幊谭椒?,并通過編寫程序來掌握java語言編程技巧,將學(xué)習(xí)到的知識融會(huì)貫通,同時(shí)提高調(diào)試程序的能力,養(yǎng)成良好
2、的編程習(xí)慣,并增強(qiáng)對程序設(shè)計(jì)整體思路的把握。ii. 熟悉在集成開發(fā)環(huán)境下編寫java程序。二、 設(shè)備與環(huán)境iii. 硬件:多媒體計(jì)算機(jī)iv. 軟件:windows 2000以上的操作系統(tǒng)、jdk開發(fā)包、集成開發(fā)環(huán)境三、 實(shí)驗(yàn)內(nèi)容v. 總體要求:程序功能基本完成,用戶界面友好,代碼的可維護(hù)性和可擴(kuò)展性較好,最好包括必要的注釋和相應(yīng)的文檔。vi. 具體要求:基本的文本錄入,字符修改,刪除,換行,粘貼,復(fù)制,剪切等功能,主要包括:2. 菜單欄設(shè)計(jì)及功能實(shí)現(xiàn):菜單欄主要包括文件、編輯、格式、幫助等常見菜單。其中文件菜單有新建、打開、保存、另存為、退出等功能;編輯菜單有剪切、復(fù)制、粘貼、等功能;格式菜單
3、含有對文字字體、字型、字號及顏色等的設(shè)置功能,根據(jù)情況可在編輯菜單添加查找和查找替換功能。3. 編輯區(qū)設(shè)計(jì):對文本的編輯處理區(qū)。4. 工具欄設(shè)計(jì):可根據(jù)需要增加該項(xiàng)功能。5. 其他功能設(shè)計(jì)。四、 實(shí)驗(yàn)結(jié)果及分析1 主界面的設(shè)計(jì)與實(shí)現(xiàn)a) 整個(gè)界面共包括四個(gè)部分,包括:標(biāo)題欄、菜單欄、編輯區(qū)、狀態(tài)欄以及滾動(dòng)條,如圖1所示。b)6. 圖表 1記事本的整體布局menubar=new jmenubar();setjmenubar(menubar);menu=new jmenu5;menuitem=new jmenuitemmenu.length;menu0=new jmenu(文件(f);menu0.
4、setmnemonic(f);menu1=new jmenu(編輯(e);menu1.setmnemonic(e);menu2=new jmenu(格式(o);menu2.setmnemonic(o);menu3=new jmenu(查看(v);menu3.setmnemonic(v);menu4=new jmenu(幫助(h);menu4.setmnemonic(h);7. 菜單的設(shè)計(jì)a) 本程序共設(shè)計(jì)四個(gè)菜單,分別是文件、編輯、格式、幫助四個(gè)菜單的功能, b) 針對記事本的需求,文件菜單欄實(shí)現(xiàn)了新建、打開、保存、另存為、退出的功能。如圖二所示。c)8. 圖表 2文件菜單欄menuitem0
5、=new jmenuitem5;menuitem1=new jmenuitem7;menuitem2=new jmenuitem2;menuitem3=new jmenuitem1;menuitem4=new jmenuitem1;menuitem00=new jmenuitem(新建(n);menuitem00.setmnemonic(n);menuitem01=new jmenuitem(打開(o) .);menuitem01.setmnemonic(o);menuitem02=new jmenuitem(保存(s);menuitem02.setmnemonic(s);menuitem03
6、=new jmenuitem(另存為(a) .);menuitem03.setmnemonic(a); menuitem04=new jmenuitem(關(guān)閉(c);menuitem04.setmnemonic(c);a) 編輯欄中實(shí)現(xiàn)了常見的剪切、復(fù)制、粘貼、查找與替換、全選以及時(shí)間/日期的功能。如圖三所示。b)9. 圖表 3編輯菜單欄menuitem10=new jmenuitem(剪切(x);menuitem10.setmnemonic(x);menuitem11=new jmenuitem(復(fù)制(c);menuitem11.setmnemonic(c);menuitem12=new j
7、menuitem(粘貼(p);menuitem12.setmnemonic(p);menuitem13=new jmenuitem(查找(f);menuitem13.setmnemonic(f);menuitem14=new jmenuitem(替換(r);menuitem14.setmnemonic(r);menuitem15=new jmenuitem(全選(a);menuitem15.setmnemonic(a);menuitem16=new jmenuitem(時(shí)間/日期(t);menuitem16.setmnemonic(t);a) 格式欄中實(shí)現(xiàn)了自動(dòng)換行以及字體設(shè)置功能。如圖四所示
8、b)10. 圖表 4格式菜單欄menuitem20=new jcheckboxmenuitem(自動(dòng)換行(w);menuitem20.setmnemonic(t);i. 在字體設(shè)置中實(shí)現(xiàn)了字體,字號、字形三個(gè)功能,如圖五所示。11.12.13. 圖表 5字體設(shè)置選項(xiàng)jtextarea ta;jscrollpane scr;jmenubar menubar;jmenu menu;jmenuitem menuitem, popupmenuitem;jpopupmenu popupmenu;jlabel lblstatus;jcombobox cbfont, cbsize, cbstyle;bool
9、ean changed;string curfilename;string schtext=new string2;string strfonts;string strsize=8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72;string strstyle=常規(guī),粗體,斜體,粗斜體;container ctn;schinfo schinfo;graphicsenvironment ge;font defaultfont=new font(宋體, font.plain, 12), fonts;public zhaoliyang514()super(無標(biāo)
10、題 - 記事本);changed=false;curfilename=;lblstatus=new jlabel(就緒);ta=new jtextarea();scr=new jscrollpane(ta);ctn=getcontentpane();ge=graphicsenvironment.getlocalgraphicsenvironment();strfonts=ge.getavailablefontfamilynames();cbfont=new jcombobox(strfonts);cbfont.setfont(defaultfont);cbfont.setselectedite
11、m(宋體);cbsize=new jcombobox(strsize);cbsize.setfont(defaultfont);cbsize.setselecteditem(12);cbstyle=new jcombobox(strstyle);cbfont.setselecteditem(常規(guī));cbstyle.setfont(defaultfont);cbfont.additemlistener(new itemlistener()public void itemstatechanged(itemevent ie)int size, style;string fontname;fontna
12、me=(string)cbfont.getselecteditem();style=cbstyle.getselectedindex();size=integer.parseint(string)cbsize.getselecteditem();font font=new font(fontname, style, size);ta.setfont(font););i. 幫助欄實(shí)現(xiàn)了關(guān)于記事本的介紹功能,如圖六所示。14.15. 圖表 6幫助欄選項(xiàng)if (ae.getsource()=menuitem40)joptionpane.showmessagedialog(null,基礎(chǔ)部,計(jì)算b09
13、2 趙禮陽,關(guān)于 記事本,joptionpane.information_message);16. 編輯區(qū)設(shè)計(jì)i. 在編輯區(qū)中通過getcontentpane().add(new jscrollpane(text)成功實(shí)現(xiàn)了將要輸入的文本成功輸入到編輯區(qū)中,并且這句還增加了文本的滾動(dòng)條,增加了記事本的實(shí)用性。2 文件菜單中各項(xiàng)功能的實(shí)現(xiàn)ii. 在設(shè)計(jì)記事本中成功完成了文件欄中的新建、打開、保存、另存為、退出的功能。17.18. 圖表 7打開功能public void open()jfilechooser fc=new jfilechooser();if (fc.showopendialog(t
14、his)=jfilechooser.approve_option)string _curfilename=fc.getselectedfile().getabsolutepath();file file=new file(_curfilename);if (file.exists()curfilename=_curfilename;file f=new file(curfilename);settitle(f.getname()+ - 記事本);changed=false;readfile(file);elsejoptionpane.showmessagedialog(null,file.ge
15、tabsolutepath()+n找不到文件。n請檢查所給的文件名是否正確。n,打開失敗,joptionpane.error_message);19.20. 圖表 8保存及另存為功能public void saveas()jfilechooser fc=new jfilechooser();fc.setdialogtitle(另存為);if (fc.showsavedialog(this)=jfilechooser.approve_option)boolean overwrite=false;string _curfilename=fc.getselectedfile().getabsolut
16、epath();file file=new file(_curfilename);if (file.exists()int exit;exit=joptionpane.showconfirmdialog(this,file.getabsolutepath()+已存在。n要覆蓋它嗎? ,另存為,joptionpane.yes_no_option);if (exit=joptionpane.yes_option)overwrite=true;elseoverwrite=true;if (overwrite)changed=false;savefile(file);curfilename=_curf
17、ilename;file f=new file(curfilename);settitle(f.getname()+ - 記事本);21. 3、格式菜單中各項(xiàng)功能的實(shí)現(xiàn)i. 在設(shè)計(jì)記事本的格式欄中成功完成了自動(dòng)換行以及字體的設(shè)置功能。其中在字體中包括了字體、字號、字形三個(gè)設(shè)置,達(dá)到了對字體設(shè)置的基本要求。22. 4、程序源代碼import java.io.*;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.util.*;class sear
18、cher extends jdialogprivate jlabel sample = new jlabel();private int currow, curcol;private jtextfield tfs;private jcheckbox chkcasesensible;private jbutton btnok;private jbutton btncancel;private searcher dlg;public static schinfo schinfo;private jtextarea ta;public searcher(frame parent, boolean m
19、odal, jtextarea _ta)super(parent,modal);schinfo=new schinfo();ta=_ta;container ctn=getcontentpane();jpanel ctn1=new jpanel();jpanel ctn2=new jpanel();jpanel ctn3=new jpanel();jpanel ctn4=new jpanel();btnok=new jbutton(查找下一個(gè));btncancel=new jbutton(取消);initall();chkcasesensible=new jcheckbox(區(qū)分大小寫, fa
20、lse);tfs=new jtextfield(10);ctn.setlayout(new flowlayout();ctn.add(ctn1);ctn.add(ctn2);ctn1.setlayout(new gridlayout(2, 1);ctn1.add(ctn3);ctn1.add(ctn4);ctn3.setlayout(new flowlayout();ctn4.setlayout(new flowlayout();ctn3.add(new jlabel(查找內(nèi)容:);ctn3.add(tfs);ctn4.add(chkcasesensible);ctn2.setlayout(n
21、ew gridlayout(2, 1);ctn2.add(btnok);ctn2.add(btncancel);settitle(查找);btnok.addactionlistener(new actionlistener()public void actionperformed(actionevent ae)schinfo.str=tfs.gettext();schinfo.casesensible=chkcasesensible.isselected();string str=ta.gettext();int index;if (schinfo.casesensible)index=str
22、.indexof(schinfo.str, ta.getcaretposition();elseindex=str.touppercase().indexof(schinfo.str.touppercase(), ta.getcaretposition();if (index!=-1)ta.select(index, index+schinfo.str.length();elsejoptionpane.showmessagedialog(null,找不到+schinfo.str+,記事本,joptionpane.information_message););btncancel.addactio
23、nlistener(new actionlistener()public void actionperformed(actionevent ae)schinfo.str=;schinfo.casesensible=false;setvisible(false););setvisible(true);private void initall()setsize(400,140);setlocation(350,150);addwindowlistener(new windowadapter()public void windowclosing(java.awt.event.windowevent
24、e)setvisible (false););class schinfopublic string str;public boolean casesensible;class replacer extends jdialogprivate jlabel sample = new jlabel();private int currow, curcol;private jtextfield tfs, tfr;private jcheckbox chkcasesensible;private jbutton btnok, btnreplace;private jbutton btncancel;pr
25、ivate replacer dlg;public static rplinfo schinfo;private jtextarea ta;public replacer(frame parent, boolean modal, jtextarea _ta)super(parent,modal);schinfo=new rplinfo();ta=_ta;container ctn=getcontentpane();jpanel ctn1=new jpanel();jpanel ctn2=new jpanel();jpanel ctn3=new jpanel();jpanel ctn4=new
26、jpanel();jpanel ctn5=new jpanel();btnok=new jbutton(查找下一個(gè));btnreplace=new jbutton(替換);btncancel=new jbutton(取消);initall();chkcasesensible=new jcheckbox(區(qū)分大小寫, false);tfs=new jtextfield(10);tfr=new jtextfield(10);ctn.setlayout(new flowlayout();ctn.add(ctn1);ctn.add(ctn2);ctn1.setlayout(new gridlayout
27、(3,1);ctn1.add(ctn3);ctn1.add(ctn4);ctn1.add(ctn5);ctn3.setlayout(new flowlayout();ctn4.setlayout(new flowlayout();ctn5.setlayout(new flowlayout();ctn3.add(new jlabel(查找內(nèi)容:);ctn3.add(tfs);ctn4.add(new jlabel(替換為:);ctn4.add(tfr);ctn5.add(chkcasesensible);ctn2.setlayout(new gridlayout(3, 1);ctn2.add(b
28、tnok);ctn2.add(btnreplace);ctn2.add(btncancel);settitle(替換);btnok.addactionlistener(new actionlistener()public void actionperformed(actionevent ae)schinfo.str=tfs.gettext();schinfo.casesensible=chkcasesensible.isselected();string str=ta.gettext();int index;if (schinfo.casesensible)index=str.indexof(
29、schinfo.str, ta.getcaretposition();elseindex=str.touppercase().indexof(schinfo.str.touppercase(), ta.getcaretposition();if (index!=-1)ta.select(index, index+schinfo.str.length();elsejoptionpane.showmessagedialog(null,找不到+schinfo.str+,記事本,joptionpane.information_message););btnreplace.addactionlistene
30、r(new actionlistener()public void actionperformed(actionevent ae)string str=ta.getselectedtext();int index;schinfo.str=tfs.gettext();if (str!=null & str.equals(tfs.gettext()index=ta.getcaretposition()-tfs.gettext().length();elseschinfo.casesensible=chkcasesensible.isselected();str=ta.gettext();if (s
31、chinfo.casesensible)index=str.indexof(schinfo.str, ta.getcaretposition();elseindex=str.touppercase().indexof(schinfo.str.touppercase(), ta.getcaretposition();str=ta.gettext();if (index!=-1)str.replacefirst(tfs.gettext(), tfr.gettext();string strtemp=str.substring(0, index)+tfr.gettext()+str.substrin
32、g(index+tfs.gettext().length(), str.length();str=strtemp;ta.settext(str);ta.setcaretposition(index+tfr.gettext().length();elsejoptionpane.showmessagedialog(null,找不到+schinfo.str+,記事本,joptionpane.information_message););btncancel.addactionlistener(new actionlistener()public void actionperformed(actione
33、vent ae)schinfo.str=;schinfo.casesensible=false;setvisible(false););setvisible(true);private void initall()setsize(400,140);setlocation(350,150);addwindowlistener(new windowadapter()public void windowclosing(java.awt.event.windowevent e)setvisible (false););class rplinfo extends schinfopublic string
34、 strr;public class zhaoliyang514 extends jframe implements actionlistenerjtextarea ta;jscrollpane scr;jmenubar menubar;jmenu menu;jmenuitem menuitem, popupmenuitem;jpopupmenu popupmenu;jlabel lblstatus;jcombobox cbfont, cbsize, cbstyle;boolean changed;string curfilename;string schtext=new string2;st
35、ring strfonts;string strsize=8,9,10,11,12,14,16,18,20,22,24,26,28,36,48,72;string strstyle=常規(guī),粗體,斜體,粗斜體;container ctn;schinfo schinfo;graphicsenvironment ge;font defaultfont=new font(宋體, font.plain, 12), fonts;public zhaoliyang514()super(無標(biāo)題 - 記事本);changed=false;curfilename=;lblstatus=new jlabel(就緒)
36、;ta=new jtextarea();scr=new jscrollpane(ta);ctn=getcontentpane();ge=graphicsenvironment.getlocalgraphicsenvironment();strfonts=ge.getavailablefontfamilynames();cbfont=new jcombobox(strfonts);cbfont.setfont(defaultfont);cbfont.setselecteditem(宋體);cbsize=new jcombobox(strsize);cbsize.setfont(defaultfo
37、nt);cbsize.setselecteditem(12);cbstyle=new jcombobox(strstyle);cbfont.setselecteditem(常規(guī));cbstyle.setfont(defaultfont);cbfont.additemlistener(new itemlistener()public void itemstatechanged(itemevent ie)int size, style;string fontname;fontname=(string)cbfont.getselecteditem();style=cbstyle.getselecte
38、dindex();size=integer.parseint(string)cbsize.getselecteditem();font font=new font(fontname, style, size);ta.setfont(font););cbsize.additemlistener(new itemlistener()public void itemstatechanged(itemevent ie)int size, style;string fontname;fontname=(string)cbfont.getselecteditem();style=cbstyle.getse
39、lectedindex();size=integer.parseint(string)cbsize.getselecteditem();font font=new font(fontname, style, size);ta.setfont(font););cbstyle.additemlistener(new itemlistener()public void itemstatechanged(itemevent ie)int size, style;string fontname;fontname=(string)cbfont.getselecteditem();style=cbstyle
40、.getselectedindex();size=integer.parseint(string)cbsize.getselecteditem();font font=new font(fontname, style, size);ta.setfont(font););cbfont.settooltiptext(在這里設(shè)置字體);cbsize.settooltiptext(在這里設(shè)置字體大小);cbstyle.settooltiptext(在這里設(shè)置字體風(fēng)格);jpanel panel=new jpanel();panel.add(cbfont);panel.add(cbsize);panel
41、.add(cbstyle);ctn.setlayout(new borderlayout();ctn.add(panel, borderlayout.north);ctn.add(scr, borderlayout.center);ctn.add(lblstatus, borderlayout.south);showmenu();schtext0=new string();schtext1=new string();lblstatus.setfont(defaultfont);ta.setfont(defaultfont);ta.getdocument().adddocumentlistene
42、r(new documentlistener()public void changedupdate(documentevent de)lblstatus.settext(行數(shù):+ta.getlinecount();changed=true;public void insertupdate(documentevent de)lblstatus.settext(行數(shù):+ta.getlinecount();changed=true;public void removeupdate(documentevent de)lblstatus.settext(行數(shù):+ta.getlinecount();cha
43、nged=true;);addwindowlistener(new windowadapter()public void windowclosing(windowevent we)closeandsave();system.exit(0););ta.addmouselistener(new mouseadapter()public void mousereleased(mouseevent me)if (me.ispopuptrigger()popupmenu.show(zhaoliyang514.this, me.getx()+10, me.gety()+80););public void
44、showmenu()menubar=new jmenubar();setjmenubar(menubar);menu=new jmenu5;menuitem=new jmenuitemmenu.length;menu0=new jmenu(文件(f);menu0.setmnemonic(f);menu1=new jmenu(編輯(e);menu1.setmnemonic(e);menu2=new jmenu(格式(o);menu2.setmnemonic(o);menu3=new jmenu(查看(v);menu3.setmnemonic(v);menu4=new jmenu(幫助(h);me
45、nu4.setmnemonic(h);menuitem0=new jmenuitem5;menuitem1=new jmenuitem7;menuitem2=new jmenuitem2;menuitem3=new jmenuitem1;menuitem4=new jmenuitem1;menuitem00=new jmenuitem(新建(n);menuitem00.setmnemonic(n);menuitem01=new jmenuitem(打開(o) .);menuitem01.setmnemonic(o);menuitem02=new jmenuitem(保存(s);menuitem
46、02.setmnemonic(s);menuitem03=new jmenuitem(另存為(a) .);menuitem03.setmnemonic(a);menuitem04=new jmenuitem(關(guān)閉(c);menuitem04.setmnemonic(c);menuitem10=new jmenuitem(剪切(x);menuitem10.setmnemonic(x);menuitem11=new jmenuitem(復(fù)制(c);menuitem11.setmnemonic(c);menuitem12=new jmenuitem(粘貼(p);menuitem12.setmnemonic(p);menuitem13=new jmenuitem(查找(f);menuitem13.setmnemonic(f);menuitem14=new jmenuitem(替換(r);menuitem14.setmnemonic(r);menuitem15=new jmenuitem(全選(a);menuitem15.setmnemonic(a);menuitem16=new jmenuitem(時(shí)間/日期(t);menuitem16.setmnemonic(t);menuitem20=new jcheckboxmenuitem(自動(dòng)換行(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年三季度報(bào)天津地區(qū)A股負(fù)債合計(jì)排名前十大上市公司
- 2025版城市基礎(chǔ)設(shè)施建設(shè)委托合同范例大全3篇
- 2025年樹林資源綜合利用與循環(huán)經(jīng)濟(jì)承包合同范本3篇
- 2025年食堂食品安全風(fēng)險(xiǎn)評估承包合同3篇
- 2025年山東貨運(yùn)從業(yè)資格證500道題目及答案
- 2025版停薪留職合同模板:民營企業(yè)員工休整計(jì)劃書3篇
- 二零二五年度城市綠化工程項(xiàng)目采購安裝合同3篇
- 二零二五年度地質(zhì)勘探臨時(shí)駕駛員用工合同4篇
- 2025年度物流園區(qū)個(gè)人運(yùn)輸承包服務(wù)協(xié)議2篇
- 2025年度模板木方項(xiàng)目合作協(xié)議范本大全3篇
- 土地買賣合同參考模板
- 2025高考數(shù)學(xué)二輪復(fù)習(xí)-專題一-微專題10-同構(gòu)函數(shù)問題-專項(xiàng)訓(xùn)練【含答案】
- 新能源行業(yè)市場分析報(bào)告
- 2025年天津市政建設(shè)集團(tuán)招聘筆試參考題庫含答案解析
- 自愿斷絕父子關(guān)系協(xié)議書電子版
- 你劃我猜游戲【共159張課件】
- 專升本英語閱讀理解50篇
- 中餐烹飪技法大全
- 新型電力系統(tǒng)研究
- 滋補(bǔ)類用藥的培訓(xùn)
- 北師大版高三數(shù)學(xué)選修4-6初等數(shù)論初步全冊課件【完整版】
評論
0/150
提交評論