JAVA編寫的學(xué)生基本信息管理系統(tǒng)_第1頁
JAVA編寫的學(xué)生基本信息管理系統(tǒng)_第2頁
JAVA編寫的學(xué)生基本信息管理系統(tǒng)_第3頁
JAVA編寫的學(xué)生基本信息管理系統(tǒng)_第4頁
JAVA編寫的學(xué)生基本信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、學(xué)生基本信息管理系統(tǒng)運(yùn)行說明:1.運(yùn)行系統(tǒng)2.輸入管理員姓名和密碼,點(diǎn)擊進(jìn)入按鈕,進(jìn)行步驟3;若輸入的姓名或密碼不正確,則彈出提示對(duì)話框,提示姓名輸入錯(cuò)誤或密碼輸入錯(cuò)誤!3.進(jìn)入操作界面(1)若選擇了菜單選項(xiàng)下的錄入學(xué)生基本信息,則進(jìn)入錄入界面:輸入要錄入的學(xué)號(hào),姓名,選擇性別、專業(yè)、年級(jí)、出生日期 ;若學(xué)號(hào)字段為空,則彈出提示對(duì)話框提示學(xué)號(hào)字段不能為空!,若其它字段為空則彈出對(duì)話框提示選項(xiàng)不能為空!;在正確的輸入下點(diǎn)擊錄入按鈕,彈出提示對(duì)話框提示錄入成功.若要繼續(xù)錄入點(diǎn)擊重置按鈕.(2)若選擇了菜單選項(xiàng)下的修改學(xué)生基本信息,則進(jìn)入修改界面:輸入要修改的學(xué)號(hào),點(diǎn)擊開始修改按鈕,在下面的選項(xiàng)中會(huì)

2、顯示待修改的學(xué)生的基本信息,此時(shí)依次進(jìn)行修改,修改完成后,點(diǎn)擊錄入修改,彈出對(duì)話框提示修改成功!;若學(xué)號(hào)輸入為空,則彈出對(duì)話框提示學(xué)號(hào)字段不能為空!;若輸入的學(xué)號(hào)沒有在庫中,則彈出對(duì)話框提示該學(xué)號(hào)不存在!請(qǐng)確認(rèn)后再輸入!;(3)若選擇了菜單選項(xiàng)下的查詢學(xué)生基本信息,則進(jìn)入查詢界面:輸入要查詢的學(xué)號(hào),點(diǎn)擊查詢按鈕,該學(xué)生的基本信息就會(huì)在下面的相應(yīng)項(xiàng)中顯示出來;若輸入學(xué)號(hào)為空則彈出對(duì)話框提示學(xué)號(hào)字段不能為空!;若輸入的學(xué)號(hào)不存在則彈出對(duì)話框提示該學(xué)號(hào)不存在!請(qǐng)確認(rèn)后再輸入!;(4)若選擇了菜單選項(xiàng)下的刪除學(xué)生基本信息,則進(jìn)入刪除界面:輸入要?jiǎng)h除的學(xué)號(hào),打回車,則該學(xué)生的相關(guān)信息就會(huì)在下面的相應(yīng)項(xiàng)中

3、顯示出來,點(diǎn)擊刪除按鈕,彈出對(duì)話框確定要?jiǎng)h除該學(xué)生的基本信息嗎?,點(diǎn)擊是,則該生基本信息被刪除,點(diǎn)擊否,則取消操作;(5)若選擇了設(shè)置選項(xiàng)下的重新設(shè)置菜單,則彈出重新設(shè)置窗口:輸入新的管理員姓名,密碼及確認(rèn)密碼,點(diǎn)擊重新注冊(cè),登陸的姓名和密碼就會(huì)改變,點(diǎn)擊取消,不改變.(6)若選擇了設(shè)置選項(xiàng)下的退出菜單項(xiàng),則退出操作界面,返回登陸界面.注:行動(dòng)環(huán)境eclipse-sdk-3.4.1-win32(java的一種集成開發(fā)平臺(tái)).zip總體設(shè)計(jì) 本系統(tǒng)共包括8個(gè)java源文件和一個(gè)sql server數(shù)據(jù)庫。1. 類之間的關(guān)系如圖1所示。 studentmanagers.javastudentsit

4、uation.javalandat.javainquest.javadelete.javamodifysituation.javalayoututil.javajdbcenroll2. java源文件及其功能如表1所示表1 源文件功能簡介序號(hào)文件名主要功能備注1studentmanagers.java學(xué)生信息管理系統(tǒng)的訪問權(quán)限含main方法并且權(quán)限唯一2landat.java菜單選項(xiàng)3studentsituation.java錄入學(xué)生基本信息4modifysituation.java修改學(xué)生基本信息5inquest.java查詢學(xué)生基本信息6delete.java刪除學(xué)生基本信息7layout

5、util.java登陸界面布局8jdbcenroll.java負(fù)責(zé)與數(shù)據(jù)庫進(jìn)行連接二、 詳細(xì)設(shè)計(jì)1. 主類studentmanagers.java(1) 成員變量(表2)表2 成員變量成員變量描述變量類型名稱txtname,txtpwdtextfield管理員姓名,管理員密碼btninjbutton登陸(2) 方法(表3) 表3 方法方法名功能備注main啟動(dòng)學(xué)生信息管理系統(tǒng)主函數(shù)studentmanagers設(shè)置登陸訪問權(quán)限構(gòu)造方法actionperformed處理actionevent事件接口方法(3) 源代碼 studentmanagers.javaimport java.awt.bor

6、derlayout;import java.awt.component;import java.awt.container;import java.awt.gridbagconstraints;import java.awt.gridbaglayout;import java.awt.insets;import java.awt.event.actionevent;import java.awt.event.actionlistener;import java.awt.event.textevent;import java.awt.event.textlistener;import javax

7、.swing.borderfactory;import javax.swing.jbutton;import javax.swing.jframe;import javax.swing.jlabel;import javax.swing.joptionpane;import javax.swing.jpanel;import javax.swing.jpasswordfield;import javax.swing.jtextfield;public class studentmanagers static final jframe mainf=new jframe(); jlabel wel

8、come=new jlabel(歡迎訪問學(xué)生信息管理系統(tǒng)!); jlabel labname=new jlabel(請(qǐng)輸入管理員姓名:);public jtextfield txtname=new jtextfield(); jlabel labpwd=new jlabel(請(qǐng) 輸 入 密 碼: );public jpasswordfield txtpwd=new jpasswordfield();jbutton btnin=new jbutton(進(jìn)入); jpanel p;public studentmanagers() p=new jpanel();p.removeall();p.set

9、size(400,400);txtname.requestfocus();txtname.settext();txtpwd.settext();p.setborder(borderfactory.createloweredbevelborder();p.setlayout(new gridbaglayout();layoututil.add(p, gridbagconstraints.none, gridbagconstraints.center, 0,0, 0, 0, 1,1,labname);layoututil.add(p, gridbagconstraints.horizontal,g

10、ridbagconstraints.center,1,0, 1, 0,1,1,txtname);layoututil.add(p,gridbagconstraints.none,gridbagconstraints.center,0,0,0, 1,1,1,labpwd);layoututil.add(p,gridbagconstraints.horizontal,gridbagconstraints.center,1,0, 1, 1, 1,1,txtpwd);layoututil.add(p,gridbagconstraints.none, gridbagconstraints.center,

11、1, 0, 3, 1, 1, 1, btnin);mainf.getcontentpane().add(p,borderlayout.center);txtname.requestfocus();btnin.addactionlistener(new actionlistener()public void actionperformed(actionevent e)string a1=txtname.gettext();string a2=txtpwd.gettext();txtname.settext();txtpwd.settext();boolean tof=false;jdbcenro

12、ll checks=new jdbcenroll(); tof=checks.check(a1,a2); if(tof=false)joptionpane.showmessagedialog(null,姓名輸入錯(cuò)誤或密碼輸入錯(cuò)誤!,警告,joptionpane.warning_message); else if(tof=true) new landat(); mainf.setvisible(false););jpanel ap=new jpanel();ap.setlayout(new borderlayout();ap.add(welcome,borderlayout.center);ma

13、inf.getcontentpane().add(ap,borderlayout.north);mainf.setsize(400,400);mainf.show();mainf.setdefaultcloseoperation(jframe.exit_on_close);public static void main(string args)jpanel mainp=new jpanel();studentmanagers student=new studentmanagers();2. 類landat.java (1).成員變量(表4)表4 成員變量成員變量描述變量類型名稱菜單條jmenu

14、barmainmenubar菜單jmenutitlebar,messagebar菜單項(xiàng)jmenuiteminputs,modify,inquest,delete,reset,otherset標(biāo)簽jlabellabel布局管理器boxbox1,box2,box3,box4,boxh文本框jtextfieldtxtname,txtpwd,txtrepwd按鈕jbuttonok,cancel (2)方法(表5)表5 方法方法名功能備注landat選擇菜單選項(xiàng)并執(zhí)行構(gòu)造方法actionperformed處理actionevent事件接口方法reenroll重新設(shè)置管理員姓名和密碼自定義方法(4) 實(shí)現(xiàn)

15、代碼 import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;import java.awt.event.textevent;public class landat extends jframe implements actionlistener private static final int sytle = 0;jframe f; jpanel p;/登陸 jpanel p2;/錄入 jpanel p3;/修改 jpanel p4;/查詢 jpanel p5;/刪除 jpanel ne

16、wp; /*final int i=0;/控制菜單項(xiàng)的打開次數(shù)(錄入學(xué)生基本信息) final int i1=0;/控制(修改學(xué)生基本信息)項(xiàng) final int i2=0;/控制(查詢學(xué)生基本信息)項(xiàng) final int i3=0;/控制(刪除學(xué)生基本信息)項(xiàng)*/ public landat() super.setvisible(false); f=new jframe(學(xué)生學(xué)籍管理系統(tǒng)); p=new jpanel(); p2=new jpanel(); p3=new jpanel(); p4=new jpanel(); p5=new jpanel(); newp=new jpanel()

17、; box box1=box.createhorizontalbox();jlabel label=new jlabel( 歡迎進(jìn)入學(xué)生基本信息管理系統(tǒng));label.setforeground(color.red);int style=font.italic;font fo=new font(宋體,style,25);label.setfont(fo);box1.add(label,jlabel.center); p.setlayout(new borderlayout(); p.add(box1,borderlayout.center);container contentpane=f.ge

18、tcontentpane();contentpane.add(p,borderlayout.center);jmenubar mainmenubar=new jmenubar();jmenu titlebar=new jmenu(菜單選項(xiàng));jmenuitem inputs=new jmenuitem(錄入學(xué)生基本信息);inputs.addactionlistener(this);jmenuitem modify=new jmenuitem(修改學(xué)生基本信息);modify.addactionlistener(this);jmenuitem inquest=new jmenuitem(查詢學(xué)

19、生基本信息);inquest.addactionlistener(this);jmenuitem delete=new jmenuitem(刪除學(xué)生基本信息);delete.addactionlistener(this);titlebar.add(inputs);titlebar.add(modify);titlebar.add(inquest);titlebar.add(delete);jmenu messagebar=new jmenu(設(shè)置選項(xiàng));jmenuitem reset=new jmenuitem(重新設(shè)置);reset.addactionlistener(new actionl

20、istener()public void actionperformed(actionevent e)reenroll reenrolls=new reenroll(););jmenuitem otherset=new jmenuitem(退出);otherset.addactionlistener(this);messagebar.add(reset);messagebar.add(otherset);mainmenubar.add(titlebar);mainmenubar.add(messagebar);f.pack();f.setjmenubar(mainmenubar);f.sets

21、ize(400,400);f.show();public void actionperformed(actionevent e) if(e.getactioncommand()=錄入學(xué)生基本信息)p.setvisible(false);p2.setvisible(false);p3.setvisible(false);p4.setvisible(false); p5.setvisible(false); studentsituation stusituation=new studentsituation(p2); f.getcontentpane().add(p2); p2.setvisibl

22、e(true);else if(e.getactioncommand()=修改學(xué)生基本信息)p.setvisible(false);p2.setvisible(false);p3.setvisible(false);p4.setvisible(false);p5.setvisible(false);modifysituation modsituation=new modifysituation(p3);f.getcontentpane().add(p3);p3.setvisible(true); else if(e.getactioncommand()=查詢學(xué)生基本信息)p.setvisibl

23、e(false);p2.setvisible(false);p3.setvisible(false);p4.setvisible(false);p5.setvisible(false);inquest quest=new inquest(p4); f.getcontentpane().add(p4); p4.setvisible(true);else if(e.getactioncommand()=刪除學(xué)生基本信息)p.setvisible(false);p2.setvisible(false);p3.setvisible(false);p4.setvisible(false);p5.setv

24、isible(false);delete deletes=new delete(p5);f.getcontentpane().add(p5);p5.setvisible(true);else if(e.getactioncommand()=退出)studentmanagers me=new studentmanagers();f.setvisible(false);class reenroll extends jframe jtextfield txtname,txtpwd,txtrepwd;jframe ff;jpanel pp;public reenroll() ff=new jframe

25、();pp=new jpanel();txtname=new jtextfield(10);txtpwd=new jtextfield(10);txtrepwd=new jtextfield(10); txtrepwd.addactionlistener(new actionlistener()public void actionperformed(actionevent e)if(!txtrepwd.gettext().equals(txtpwd.gettext()joptionpane.showmessagedialog(null,密碼輸入錯(cuò)誤!,警告,joptionpane.warnin

26、g_message);public void valuechanged(textevent e);jbutton ok=new jbutton(重新注冊(cè));ok.addactionlistener(new actionlistener()public void actionperformed(actionevent e)jdbcenroll reset=new jdbcenroll();reset.setloads(txtname.gettext(),txtpwd.gettext(););jbutton cancel=new jbutton(取消);cancel.addactionlisten

27、er(new actionlistener()public void actionperformed(actionevent e)ff.setvisible(false););box box1=box.createhorizontalbox();box1.add(new jlabel(請(qǐng)輸入新的管理員姓名:,jlabel.center);box1.add(txtname);box box2=box.createhorizontalbox();box2.add(new jlabel(請(qǐng)輸入新的管理員密碼:,jlabel.center);box2.add(txtpwd);box box3=box.

28、createhorizontalbox();box3.add(new jlabel(請(qǐng)確認(rèn)密碼:,jlabel.center);box3.add(txtrepwd);box box4=box.createhorizontalbox();box4.add(ok);box4.add(cancel);box boxh=box.createverticalbox();boxh.add(box1);boxh.add(box2);boxh.add(box3);boxh.add(box4);boxh.setsize(300,200);ff.setsize(300,200); pp.add(boxh,bord

29、erlayout.center); ff.add(pp); ff.setvisible(true);3. 類studentsituation(1) 成員變量(表6)表6 成員變量成員變量描述變量類型名稱文本框jtextfieldtxtnumber,txtname組合框jcomboboxtxtspecial,txtgrade,txtborn單選按鈕jradiobuttonradioboy單選按鈕jradiobuttonradiogirl按鈕jbuttontruein,resetin(2) 方法(表7)表7 方法方法名功能備注studentsituation錄入學(xué)生基本信息構(gòu)造方法actionpe

30、rformed處理actionevent事件接口方法(3) 代碼實(shí)現(xiàn) import java.awt.*;import javax.swing.*;import java.awt.event.*;public class studentsituation jtextfield txtnumber,txtname;jcombobox txtspecial,txtgrade,txtborn;jradiobutton radioboy,radiogirl;buttongroup group=null;jbutton truein,resetin;public studentsituation(jpa

31、nel psituation)psituation.removeall(); psituation.setsize(300,300); txtnumber=new jtextfield(10); txtname=new jtextfield(10); radioboy=new jradiobutton(男); radiogirl=new jradiobutton(女); group=new buttongroup(); txtspecial=new jcombobox(); txtspecial.additem(計(jì)算機(jī)); txtspecial.additem(英語); txtspecial.

32、additem(機(jī)械); txtspecial.additem(汽服); txtspecial.additem(音樂); txtspecial.additem(漢語學(xué)); txtgrade=new jcombobox(); txtgrade.additem(2004級(jí)); txtgrade.additem(2005級(jí)); txtgrade.additem(2006級(jí)); txtgrade.additem(2007級(jí)); txtgrade.additem(2008級(jí)); txtgrade.additem(2009級(jí)); txtgrade.additem(2010級(jí)); txtborn=new j

33、combobox(); txtborn.additem(1985); txtborn.additem(1986); txtborn.additem(1987); txtborn.additem(1988); txtborn.additem(1989); txtborn.additem(1990); txtborn.additem(1991); truein=new jbutton(錄入); truein.addactionlistener(new actionlistener() public void actionperformed(actionevent e) string number=

34、txtnumber.gettext(); string name=txtname.gettext(); string sex = null; if(radioboy.isselected() sex=radioboy.gettext(); else if(radiogirl.isselected() sex=radiogirl.gettext(); string special=null; object sp = null; string grade=null; object gr = null; string born=null; object bo = null; int index1=t

35、xtspecial.getselectedindex(); switch(index1) case 0: sp=txtspecial.getitemat(0);break; case 1:sp=txtspecial.getitemat(1);break; case 2:sp=txtspecial.getitemat(2);break; case 3:sp=txtspecial.getitemat(3);break; case 4:sp=txtspecial.getitemat(4);break; case 5:sp=txtspecial.getitemat(5);break; special=

36、(string)sp; int index2=txtgrade.getselectedindex(); switch(index2) case 0:gr=txtgrade.getitemat(0);break; case 1:gr=txtgrade.getitemat(1);break; case 2:gr=txtgrade.getitemat(2);break; case 3:gr=txtgrade.getitemat(3);break; case 4:gr=txtgrade.getitemat(4);break; case 5:gr=txtgrade.getitemat(5);break;

37、 case 6:gr=txtgrade.getitemat(6);break; grade=(string)gr; int index3=txtborn.getselectedindex(); switch(index3) case 0:bo=txtborn.getitemat(0);break; case 1:bo=txtborn.getitemat(1);break; case 2:bo=txtborn.getitemat(2);break; case 3:bo=txtborn.getitemat(3);break; case 4:bo=txtborn.getitemat(4);break

38、; case 5:bo=txtborn.getitemat(5);break; case 6:bo=txtborn.getitemat(6);break; born=(string)bo;jdbcenroll inputs=new jdbcenroll();inputs.input(number,name,sex,special,grade, born); ); resetin=new jbutton(重置); resetin.addactionlistener(new actionlistener() public void actionperformed(actionevent e) tx

39、tnumber.settext(); txtname.settext(); radioboy.setselected(false); radiogirl.setselected(false); );group.add(radioboy);group.add(radiogirl);box box1=box.createhorizontalbox();box1.add(new jlabel(學(xué)號(hào):,jlabel.center);box1.add(txtnumber);box box2=box.createhorizontalbox();box2.add(new jlabel(姓名:,jlabel.

40、center);box2.add(txtname);box box3=box.createhorizontalbox();box3.add(new jlabel(性別:,jlabel.center);box3.add(radioboy);box3.add(radiogirl);box box4=box.createhorizontalbox();box4.add(new jlabel(專業(yè):,jlabel.center);box4.add(txtspecial);box box5=box.createhorizontalbox();box5.add(new jlabel(年級(jí):,jlabel.

41、center);box5.add(txtgrade);box box6=box.createhorizontalbox();box6.add(new jlabel(出生:);box6.add(txtborn);box box7=box.createhorizontalbox();box7.add(truein);box7.add(resetin);box boxh=box.createverticalbox();boxh.add(box1);boxh.add(box2);boxh.add(box3);boxh.add(box4);boxh.add(box5);boxh.add(box6);bo

42、xh.add(box7);boxh.setsize(300,300);psituation.add(boxh); 4. 類inquest (1).成員變量(表8)表8 成員變量成員變量描述變量類型名稱文本框jtextfieldnumber,name,special,grade,born單選按鈕jradiobuttonboy,girl按鈕jbuttonsearch(2)方法(表9)表9 方法方法名功能備注inquest查詢已錄入學(xué)生信息按學(xué)號(hào)進(jìn)行查詢actionperformed處理actionevent事件接口方法(4) 代碼實(shí)現(xiàn)import java.awt.*;import javax.s

43、wing.*;import java.awt.event.*;public class inquestjpanel p;jtextfield number,name,special,grade,born;jbutton search;jradiobutton boy,girl;buttongroup group=null;public inquest(jpanel p)p.removeall();p.setsize(300,300);number=new jtextfield(10);search=new jbutton(查詢);/查詢事件監(jiān)聽search.addactionlistener(

44、new actionlistener()public void actionperformed(actionevent e)string searched=new string5;string searchnumber=number.gettext();jdbcenroll searchs=new jdbcenroll();searched=searchs.search(searchnumber);name.settext(searched0);if(searched1.equals(男)boy.setselected(true);girl.setselected(false);else if

45、(searched1.equals(女)girl.setselected(true);boy.setselected(false); special.settext(searched2); grade.settext(searched3); born.settext(searched4););name=new jtextfield(10);name.seteditable(false);group=new buttongroup();boy=new jradiobutton(男);girl=new jradiobutton(女);group.add(boy);group.add(girl);s

46、pecial=new jtextfield(10);special.seteditable(false);grade=new jtextfield(10);grade.seteditable(false);born=new jtextfield(10);born.seteditable(false);box box1=box.createhorizontalbox();box1.add(new jlabel(輸入要查詢的學(xué)號(hào):,jlabel.center);box1.add(number);box1.add(search);box box2=box.createhorizontalbox();

47、box2.add(new jlabel(姓名:,jlabel.center);box2.add(name);box box3=box.createhorizontalbox();box3.add(new jlabel(性別:,jlabel.center);box3.add(boy);box3.add(girl);box box4=box.createhorizontalbox();box4.add(new jlabel(專業(yè):,jlabel.center);box4.add(special);box box5=box.createhorizontalbox();box5.add(new jla

48、bel(年級(jí):,jlabel.center);box5.add(grade);box box6=box.createhorizontalbox();box6.add(new jlabel(出生:,jlabel.center);box6.add(born);box boxh=box.createverticalbox();boxh.add(box1);boxh.add(box2);boxh.add(box3);boxh.add(box4);boxh.add(box5);boxh.add(box6);p.add(boxh);5. 類modifysituation (1).成員變量(表10)表10

49、成員變量成員變量描述變量類型名稱文本框jtextfieldtnewnumber,tnewname單選按鈕jradiobuttonsexman,sexwom按鈕jbuttonstartset,inset,reset組合框jcomboboxtnewspecial,tnewgrade,tnewborn字符串stringnumbers(2)方法(表11)表11 方法方法名功能備注modifysituation修改學(xué)生信息構(gòu)造方法actionperformed處理actionevent事件接口方法(3)實(shí)現(xiàn)代碼import java.awt.*;import javax.swing.*;import java.awt.event.*;public class modifysituation jtextfield tnewnum

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論