版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計</b></p><p> 課程名稱 Java語言課程設(shè)計 </p><p> 題目名稱 人事管理系統(tǒng)的設(shè)計與實現(xiàn) </p><p> 學(xué)生學(xué)院 </p><p> 專業(yè)班級____ ____ _
2、</p><p> 學(xué) 號 </p><p> 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p><b> 2012年6月8日</b></p><p
3、><b> 設(shè)計內(nèi)容</b></p><p> 自學(xué)Swing圖形界面設(shè)計和數(shù)據(jù)庫程序設(shè)計。開發(fā)用于某單位的人事管理系統(tǒng)。該系統(tǒng)要求實現(xiàn)以下功能:員工信息管理(包括:員工信息一覽表、新員工的建立、修改、刪除)</p><p><b> 設(shè)計方案</b></p><p> 1、使用Netbeans IDE 7.
4、1和SQL Server2000進(jìn)行編譯。</p><p><b> 2、代碼如下:</b></p><p><b> 登錄按鈕代碼:</b></p><p> private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
5、 </p><p> } </p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
6、 </p><p> String user = jTextField1.getText().trim();</p><p> String password = jTextField2.getText().trim();</p><p> if (user.equals("wsm") &&am
7、p; password.equals("wsm")) {</p><p> new yuangongxinxiguanli().setVisible(true);</p><p> setVisible(false);</p><p><b> } else {</b></p><p> JO
8、ptionPane.showMessageDialog(null, "請正確輸入!");</p><p><b> }</b></p><p> } </p><p> public static void main(String args[
9、]) {</p><p> java.awt.EventQueue.invokeLater(new Runnable() {</p><p> public void run() {</p><p> new denglu().setVisible(true);</p><p><b> }</b></p&
10、gt;<p><b> });</b></p><p><b> }</b></p><p> 員工信息關(guān)系系統(tǒng)界面:</p><p> package 人事管理系統(tǒng);</p><p> public class yuangongxinxiguanli extends jav
11、ax.swing.JFrame {</p><p> public yuangongxinxiguanli() {</p><p> initComponents();</p><p> setLocation(450,220);</p><p><b> }</b></p><p>
12、@SuppressWarnings("unchecked")</p><p> // <editor-fold defaultstate="collapsed" desc="Generated Code"> </p><p> private void initCo
13、mponents() {</p><p> jButton1 = new javax.swing.JButton();</p><p> jButton2 = new javax.swing.JButton();</p><p> jButton3 = new javax.swing.JButton();</p><p> jLabe
14、l1 = new javax.swing.JLabel();</p><p> jButton4 = new javax.swing.JButton();</p><p> jButton5 = new javax.swing.JButton();</p><p> setDefaultCloseOperation(javax.swing.WindowCons
15、tants.EXIT_ON_CLOSE);</p><p> jButton1.setText("查詢員工信息");</p><p> jButton1.addActionListener(new java.awt.event.ActionListener() {</p><p> public void actionPerformed(j
16、ava.awt.event.ActionEvent evt) {</p><p> jButton1ActionPerformed(evt);</p><p><b> }</b></p><p><b> });</b></p><p> jButton2.setText("添加
17、員工信息");</p><p> jButton2.addActionListener(new java.awt.event.ActionListener() {</p><p> public void actionPerformed(java.awt.event.ActionEvent evt) {</p><p> jButton2Action
18、Performed(evt);</p><p><b> }</b></p><p><b> });</b></p><p> jButton3.setText("刪除員工信息");</p><p> jButton3.addActionListener(new jav
19、a.awt.event.ActionListener() {</p><p> public void actionPerformed(java.awt.event.ActionEvent evt) {</p><p> jButton3ActionPerformed(evt);</p><p><b> }</b></p>
20、<p><b> });</b></p><p> jLabel1.setFont(new java.awt.Font("宋體", 0, 24)); // NOI18N</p><p> jLabel1.setText("員工信息管理系統(tǒng)");</p><p> jButton4.se
21、tText("修改員工信息");</p><p> jButton4.addActionListener(new java.awt.event.ActionListener() {</p><p> public void actionPerformed(java.awt.event.ActionEvent evt) {</p><p>
22、jButton4ActionPerformed(evt);</p><p><b> }</b></p><p><b> });</b></p><p> jButton5.setText("退出系統(tǒng)");</p><p> jButton5.addActionList
23、ener(new java.awt.event.ActionListener() {</p><p> public void actionPerformed(java.awt.event.ActionEvent evt) {</p><p> jButton5ActionPerformed(evt);</p><p><b> }</b>
24、;</p><p><b> });</b></p><p> javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());</p><p> getContentPane().setLayout(layout);</p>&l
25、t;p> layout.setHorizontalGroup(</p><p> layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addGroup(layout.createSequentialGroup()</p><p> .addGro
26、up(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addGroup(layout.createSequentialGroup()</p><p> .addGap(91, 91, 91)</p><p> .addGroup(layout.cre
27、ateParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)</p><p> .addComponent(jButton1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)</p><
28、;p> .addComponent(jButton4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)</p><p> .addComponent(jButton2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing
29、.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)</p><p> .addComponent(jButton3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)</p><p> .addComponent(j
30、Button5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))</p><p> .addGroup(layout.createSequentialGroup()</p><p> .addGap(47, 47, 47)</p>
31、<p> .addComponent(jLabel1)))</p><p> .addContainerGap(52, Short.MAX_VALUE))</p><p><b> );</b></p><p> layout.setVerticalGroup(</p><p> layout.cre
32、ateParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)</p><p> .addGroup(layout.createSequentialGroup()</p><p> .addGap(14, 14, 14)</p><p> .addComponent(jLabel1, javax.swin
33、g.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)</p><p> .addGap(18, 18, 18)</p><p> .addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.Gr
34、oupLayout.PREFERRED_SIZE)</p><p> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)</p><p> .addComponent(jButton2, javax.swing.GroupLayout.PREFERRED_SIZE, 32, javax.swing
35、.GroupLayout.PREFERRED_SIZE)</p><p> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)</p><p> .addComponent(jButton4, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.sw
36、ing.GroupLayout.PREFERRED_SIZE)</p><p> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)</p><p> .addComponent(jButton3, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax
37、.swing.GroupLayout.PREFERRED_SIZE)</p><p> .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)</p><p> .addComponent(jButton5, javax.swing.GroupLayout.PREFERRED_SIZE, 33, ja
38、vax.swing.GroupLayout.PREFERRED_SIZE)</p><p> .addContainerGap(36, Short.MAX_VALUE))</p><p><b> );</b></p><p><b> pack();</b></p><p> }// &l
39、t;/editor-fold> </p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p> chaxun ch=new chaxun(
40、);</p><p> ch.setVisible(true); </p><p> ch.setLocation(400,220);</p><p> setVisible(false);</p><p> } </p><p>
41、 private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { </p><p> tianjia ti=new tianjia();</p><p> ti.setVisible(true);</p><p
42、> ti.setLocation(400,220);</p><p> setVisible(false);// TODO add your handling code here:</p><p> } </p><p> private void jButton4Actio
43、nPerformed(java.awt.event.ActionEvent evt) { </p><p> xiugai xi=new xiugai();</p><p> xi.setVisible(true);</p><p> xi.setLocation(400,220)
44、;</p><p> setVisible(false);// TODO add your handling code here:</p><p> } </p><p> private void jButton3ActionPerformed(java.awt.event.Act
45、ionEvent evt) { </p><p> shanchu sh=new shanchu();</p><p> sh.setVisible(true); </p><p> sh.setLocation(400,220);</p><p> se
46、tVisible(false);</p><p> } </p><p> private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) { </p
47、><p> System.exit(0);</p><p> } </p><p> public static void main(String args[]) {</p><p> java.awt.EventQueue.invokeLater(new Ru
48、nnable() {</p><p> public void run() {</p><p> new yuangongxinxiguanli().setVisible(true);</p><p><b> }</b></p><p><b> });</b></p>&l
49、t;p><b> }</b></p><p> // Variables declaration - do not modify </p><p> private javax.swing.JButton jButton1;</p><p> private javax.swing.JBut
50、ton jButton2;</p><p> private javax.swing.JButton jButton3;</p><p> private javax.swing.JButton jButton4;</p><p> private javax.swing.JButton jButton5;</p><p> priv
51、ate javax.swing.JLabel jLabel1;</p><p> // End of variables declaration </p><p><b> }</b></p><p><b> 查詢按鈕代碼:</b></p><p> 可
52、選擇項查詢按鈕代碼:</p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p><b> try {</b></p><p> String
53、 xuanze= jComboBox1.getSelectedItem().toString().trim();</p><p> String tianxie=jTextField1.getText().trim();</p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");&l
54、t;/p><p> String url="jdbc:microsoft:sqlserver:"</p><p> + "//127.0.0.1:1433;DatabaseName=員工信息管理庫";</p><p> Connection con=DriverManager.getConnection(url,"
55、sa","900526");</p><p> java.sql.Statement stmt=con.createStatement();</p><p> ResultSet rs=stmt.executeQuery("select * from 員工 where "+xuanze+"='"+tia
56、nxie+"'"); </p><p> DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();</p><p> dt.getDataVector().clear();</p><p> dt.fireTableDataChanged();</p>&
57、lt;p> while(rs.next ())</p><p> { Vector v1=new Vector();</p><p> v1.add(rs.getString(1)); </p><p> v1.add(rs.getString(2)); </p><p> v1.a
58、dd(rs.getString(3)); </p><p> v1.add(rs.getString(4)); </p><p> v1.add(rs.getString(5)); </p><p> v1.add(rs.getString(6)); </p><p>
59、; v1.add(rs.getString(7));</p><p> dt.addRow(v1);</p><p><b> }</b></p><p> dt.fireTableDataChanged();</p><p> rs.close();</p><p> stmt.cl
60、ose();</p><p> con.close();</p><p> } catch (ClassNotFoundException ex) {</p><p> ex.getMessage();</p><p> }catch(SQLException ex){</p><p> ex.getMess
61、age();</p><p><b> }</b></p><p> } </p><p> 查詢?nèi)啃畔粹o代碼:</p><p> private void jButton3ActionPerformed(java.awt.even
62、t.ActionEvent evt) { </p><p><b> try {</b></p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");</p><p
63、> String url="jdbc:microsoft:sqlserver:"</p><p> + "//127.0.0.1:1433;DatabaseName=員工信息管理庫";</p><p> Connection con=DriverManager.getConnection(url,"sa","
64、900526");</p><p> java.sql.Statement stmt=con.createStatement();</p><p> ResultSet rs=stmt.executeQuery("select * from 員工");</p><p> DefaultTableModel dt=(Default
65、TableModel) jTable1.getModel();</p><p> dt.getDataVector().clear();</p><p> while(rs.next ())</p><p> { Vector v1=new Vector();</p><p> v1.add(rs.getString(1));
66、 </p><p> v1.add(rs.getString(2)); </p><p> v1.add(rs.getString(3)); </p><p> v1.add(rs.getString(4)); </p><p> v1.add(rs.getStr
67、ing(5)); </p><p> v1.add(rs.getString(6)); </p><p> v1.add(rs.getString(7));</p><p> dt.addRow(v1);</p><p><b> }</b></p><p&g
68、t; dt.fireTableDataChanged();</p><p> rs.close();</p><p> stmt.close();</p><p> con.close();</p><p> } catch (ClassNotFoundException ex) {</p><p> Lo
69、gger.getLogger(chaxun.class.getName()).log(Level.SEVERE, null, ex);</p><p> }catch(SQLException ex){</p><p> ex.getMessage();</p><p><b> } </b></p><p
70、> } </p><p> public static void main(String args[]) {</p><p> java.awt.EventQueue.invokeLater(new Runnable() {</p><p> public void run(
71、) {</p><p> new chaxun().setVisible(true);</p><p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p><b> 添
72、加界面代碼:</b></p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p><b> try{</b></p><p> S
73、tring yuangonghao = jtf_yuangonghao.getText().trim(); </p><p> String phonenumber = jtf_phonenumber.getText().trim(); </p><p> String name = jtf_name.getText().trim();</p>
74、<p> String age = jtf_age.getText().trim();</p><p> String sex = jtf_sex.getText().trim();</p><p> String post = jtf_post.getText().trim();</p><p> String pay = jtf_pay.ge
75、tText().trim();</p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");</p><p> String url = "jdbc:microsoft:sqlserver:"</p><p> + "//127.
76、0.0.1:1433;DatabaseName=員工信息管理庫";</p><p> Connection con = DriverManager.getConnection(url, "sa", "900526");</p><p> String str="insert into 員工 values(?,?,?,?,?,?
77、,?)";</p><p> PreparedStatement stmt = con.prepareStatement(str);</p><p> stmt.setString(1,yuangonghao);</p><p> stmt.setString(2,name);</p><p> stmt.setString
78、(3,age);</p><p> stmt.setString(4,sex);</p><p> stmt.setString(5,post);</p><p> stmt.setString(6,phonenumber);</p><p> stmt.setString(7,pay);</p><p>
79、ResultSet rs=stmt.executeQuery();</p><p> rs.close();</p><p> stmt.close();</p><p> con.close();</p><p> } catch (ClassNotFoundException ex) {</p><p>
80、 } catch (SQLException ex) {</p><p> if (ex.getSQLState().equals("HY000")) {</p><p> JOptionPane.showMessageDialog(null, "添加成功");</p><p><b> }</b>
81、</p><p> if((ex.getSQLState().equals("23000"))){</p><p> JOptionPane.showMessageDialog(null, "已經(jīng)存在該編號的員工,添加失敗");</p><p><b> }</b></p><p
82、><b> }</b></p><p> } </p><p> public static void main(String args[]) {</p><p> java.awt.EventQueue.invokeLater(new Runnable
83、() {</p><p> public void run() {</p><p> new tianjia().setVisible(true);</p><p><b> }</b></p><p><b> });</b></p><p><b>
84、}</b></p><p><b> 修改界面代碼:</b></p><p> private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { </p><p><b
85、> try {</b></p><p> String xuanze= jComboBox1.getSelectedItem().toString().trim();</p><p> String tianxie=jTextField2.getText().trim();//hao</p><p> String tianxie2=jTe
86、xtField3.getText().trim();//xie</p><p> if(tianxie2.equals("")){</p><p> JOptionPane.showMessageDialog(null, "請正確輸入!");</p><p><b> }else{</b></
87、p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");</p><p> String url="jdbc:microsoft:sqlserver:"</p><p> + "//127.0.0.1:1433;DatabaseNam
88、e=員工信息管理庫";</p><p> Connection con=DriverManager.getConnection(url,"sa","900526");</p><p> java.sql.Statement stmt=con.createStatement();</p><p> ResultS
89、et rs=stmt.executeQuery("update 員工 set "+xuanze+"='"+tianxie2+"'"</p><p> +"where 員工號="+"'"+tianxie+"'"); </p><p>&
90、lt;b> }</b></p><p> } catch (ClassNotFoundException ex) {</p><p> }catch(SQLException ex){</p><p> if(ex.getSQLState().equals("HY000"))</p><p>
91、JOptionPane.showMessageDialog(null, "修改成功");</p><p><b> }</b></p><p> } </p><p> private void jTextField3ActionPerfor
92、med(java.awt.event.ActionEvent evt) { </p><p> } </p><p> public static void main(String args[]) {</p>
93、;<p> java.awt.EventQueue.invokeLater(new Runnable() {</p><p><b> @Override</b></p><p> public void run() {</p><p> new xiugai().setVisible(true);</p>
94、<p><b> }</b></p><p><b> });</b></p><p><b> }</b></p><p><b> 刪除界面代碼:</b></p><p> private void jButton1ActionPe
95、rformed(java.awt.event.ActionEvent evt) { </p><p> DefaultTableModel dt=(DefaultTableModel) jTable1.getModel();</p><p><b> try {</b></p&g
96、t;<p> String tianxie=jTextField2.getText().trim();</p><p> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");</p><p> String url="jdbc:microsoft:sqlserver:&
97、quot;</p><p> + "//127.0.0.1:1433;DatabaseName=員工信息管理庫";</p><p> Connection con=DriverManager.getConnection(url,"sa","900526");</p><p> java.sql.Sta
98、tement stmt=con.createStatement();//用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象</p><p> ResultSet rs=stmt.executeQuery("delete from 員工 where 員工號 ='"+tianxie+"'"); </p><p> rs.clo
99、se();</p><p> stmt.close();</p><p> con.close();</p><p> } catch (ClassNotFoundException ex) {</p><p> System.out.println( ex.getMessage());</p><p> }
100、catch(SQLException ex){ </p><p> //System.out.println( ex.getMessage()+ " "+ex.getSQLState());</p><p> if(ex.getSQLState().equals("HY000")){ </p><p>
101、 dt.getDataVector().clear();</p><p> dt.fireTableDataChanged();</p><p> JOptionPane.showMessageDialog(null, "刪除成功!"); </p><p><b> }</b></p><p&g
102、t;<b> } </b></p><p> } </p><p> public static void main(String args[]) {</p><p> java.awt.EventQueue.invokeLater(new Runn
103、able() {</p><p> public void run() {</p><p> new shanchu().setVisible(true);</p><p><b> }</b></p><p><b> });</b></p><p><b&g
104、t; }</b></p><p><b> 返回按鈕代碼:</b></p><p> private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { </p><p>
105、 new yuangongxinxiguanli().setVisible(true);</p><p> setVisible(false); } </p><p><b> 結(jié)果和數(shù)據(jù)處理</b></p><p> 登陸界面:輸入管理員賬號密碼,進(jìn)行登
106、錄。</p><p> 員工管理系統(tǒng)操作界面:</p><p><b> 查詢員工界面:</b></p><p> 點擊查詢?nèi)堪粹o查詢員工信息:</p><p> 可通過員工號、姓名、年齡、職位進(jìn)行查詢</p><p> 例如通過員工號30035進(jìn)行查詢,結(jié)果:</p>
107、<p><b> 添加員工界面:</b></p><p> 例如添加以上信息的員工資料,點擊添加按鈕。</p><p><b> 修改員工界面:</b></p><p> 例如修改年齡為31:</p><p><b> 修改后結(jié)果為:</b></p&g
108、t;<p> 刪除員工界面:刪除員工號為30059的員工,結(jié)果如下:</p><p><b> 結(jié)論</b></p><p> 通過Netbeans7.1對各個按鈕的功能進(jìn)行編譯,與SQL數(shù)據(jù)庫進(jìn)行連接,進(jìn)行查詢、添加、修改、刪除操作。這個員工信息管理操作簡單、界面清晰、界面設(shè)計人性化,方便操作。</p><p><b
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計報告mini人事管理系統(tǒng)
- 人事管理_基于java的人事管理系統(tǒng)設(shè)計與實現(xiàn)
- 基于java人事管理系統(tǒng)設(shè)計與實現(xiàn)
- 人事管理系統(tǒng)課程設(shè)計
- 人事管理系統(tǒng)_java課程設(shè)計說明書
- 課程設(shè)計--人事管理系統(tǒng)設(shè)計
- 人事管理系統(tǒng)課程設(shè)計
- 企業(yè)人事管理系統(tǒng)課程設(shè)計
- 人事管理系統(tǒng)課程設(shè)計報告
- 人事管理系統(tǒng)-課程設(shè)計報告
- 高校人事管理系統(tǒng)課程設(shè)計
- 課程設(shè)計----公司人事管理系統(tǒng)
- 人事管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計(企業(yè)人事管理系統(tǒng))
- 課程設(shè)計---企業(yè)人事管理系統(tǒng)
- php人事管理系統(tǒng)課程設(shè)計
- 課程設(shè)計--- 公司人事管理系統(tǒng)的設(shè)計
- 基于delphi的公司人事管理系統(tǒng)的設(shè)計與實現(xiàn)課程設(shè)計
- 基于JAVA的學(xué)校人事管理系統(tǒng)設(shè)計與實現(xiàn).pdf
- 課程設(shè)計--- 人事管理系統(tǒng)需求分析設(shè)計
評論
0/150
提交評論