2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《高級(jí)語(yǔ)言程序設(shè)計(jì)(2)》</p><p><b>  課程設(shè)計(jì)任務(wù)書</b></p><p>  《高級(jí)語(yǔ)言程序設(shè)計(jì)(2)》課程設(shè)計(jì)報(bào)告</p><p><b>  程序設(shè)計(jì)說(shuō)明書</b></p><p><b>  【設(shè)計(jì)題目】</b></p&g

2、t;<p><b>  房產(chǎn)管理系統(tǒng)</b></p><p><b>  【問(wèn)題描述】</b></p><p>  住房是人們生活中不可或缺的,大型單位必須對(duì)員工的房產(chǎn)信息,員工信息以及員工與房產(chǎn)的對(duì)應(yīng)信息進(jìn)行有效的管理。</p><p><b>  【軟件功能】</b></p&g

3、t;<p>  1、 系統(tǒng)管理:對(duì)系統(tǒng)的設(shè)置,主要包括對(duì)信息項(xiàng)所用代碼表的維護(hù)。</p><p>  2、 房產(chǎn)管理:對(duì)房產(chǎn)休息進(jìn)行管理,包括房產(chǎn)信息維護(hù)和住房信息維護(hù)。</p><p>  3、 住戶管理:對(duì)房主休息進(jìn)行管理,包括房主基本信息維護(hù)和家庭信息維護(hù)。</p><p>  4、 查詢:根據(jù)不同信息項(xiàng)查詢滿足條件的記錄。</p>

4、<p><b>  【算法思想】</b></p><p>  總的思想是把所有我們要用的數(shù)據(jù)放到數(shù)據(jù)庫(kù)中 然后將數(shù)據(jù)庫(kù)中的東西顯現(xiàn)出來(lái) </p><p><b>  再加上面板設(shè)計(jì)</b></p><p><b>  【類的設(shè)計(jì)】</b></p><p>  Hou

5、seManage類:定義房產(chǎn)信息顯示界面,定義界面顯示的標(biāo)簽、按鈕、文本框等,并將信息保存到數(shù)據(jù)庫(kù)中。</p><p>  MainFrame類:包含主方法是程序運(yùn)行的開始。</p><p>  ChangeCode類:定義修改密碼界面,并將修改的密碼保存到數(shù)據(jù)庫(kù)中。</p><p>  QueryInformation類:定義查詢界面,定義chaxunhouse(

6、)方法和chaxunuser()方法查詢住房信息和住戶信息。</p><p>  UserManage類:定義住戶信息界面,將用戶的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。</p><p>  ManageLogin類:設(shè)置登陸界面,設(shè)定密碼的顯示形式。</p><p>  BookLoginAction類:定義confirm()方法來(lái)連接數(shù)據(jù)庫(kù),登錄系統(tǒng)。</p>&l

7、t;p><b>  【用戶界面】</b></p><p><b>  登陸界面</b></p><p><b>  2、主界面</b></p><p><b>  【程序技巧】</b></p><p>  可以將數(shù)據(jù)庫(kù)和面板程序連接起來(lái)。</p

8、><p>  【模塊劃分及調(diào)用關(guān)系】</p><p><b>  【模塊流程圖】</b></p><p>  Changecode.java</p><p>  ManagerLogin.java</p><p><b>  【運(yùn)行說(shuō)明】</b></p><p

9、>  運(yùn)行程序進(jìn)入登陸界面,輸入用戶名和密碼進(jìn)入。</p><p>  在主界面內(nèi)點(diǎn)擊房產(chǎn)信息、住房信息、密碼修改、查詢、關(guān)于等按鈕進(jìn)入相關(guān)的界面,進(jìn)行操作。</p><p><b>  程序上機(jī)調(diào)試報(bào)告</b></p><p>  【語(yǔ)法錯(cuò)誤及其排除】</p><p>  在編寫程序時(shí)出現(xiàn)許多拼寫和調(diào)用錯(cuò)誤,用E

10、clipse的提示及時(shí)修改錯(cuò)誤。</p><p>  【算法錯(cuò)誤及其排除】</p><p>  數(shù)據(jù)庫(kù)的應(yīng)用,不能連接 或是連接錯(cuò)誤 語(yǔ)法錯(cuò)誤 </p><p>  界面設(shè)計(jì) 總是不能達(dá)到最想要的樣子</p><p>  經(jīng)常忘寫東西 或是寫重了 導(dǎo)致運(yùn)行錯(cuò)誤 </p><p>  這種時(shí)候 總要仔細(xì)檢查程序 找出錯(cuò)

11、誤解決</p><p><b>  程序測(cè)試結(jié)果</b></p><p><b>  【測(cè)試數(shù)據(jù)】</b></p><p><b>  【輸出結(jié)果】</b></p><p><b>  登陸界面</b></p><p><b&

12、gt;  主界面</b></p><p><b>  3、房產(chǎn)信息界面</b></p><p><b>  3、 住房信息界面</b></p><p><b>  密碼修改界面</b></p><p><b>  5、查詢界面</b></

13、p><p><b>  6、關(guān)于界面</b></p><p><b>  【收獲及體會(huì)】</b></p><p>  這次課程設(shè)計(jì)過(guò)程中我學(xué)到了很多專業(yè)知識(shí),很多知識(shí),在書本上看似很有道理,可是這些知識(shí)在與實(shí)際情況結(jié)合起來(lái)往往就會(huì)出現(xiàn)書本上沒見過(guò)的情況,或者說(shuō)之前的理解與實(shí)際的使用是截然不同的.對(duì)書面上的東西實(shí)際操作在具體項(xiàng)目

14、上有了一個(gè)更加清晰的認(rèn)識(shí)。我還意識(shí)到一個(gè)大的程序,在寫代碼前,一定要有良好的需求分析和結(jié)構(gòu)設(shè)計(jì),應(yīng)該占整個(gè)程序設(shè)計(jì)的大部分時(shí)間,一個(gè)好的程序,分析設(shè)計(jì)應(yīng)該要非常充分,這樣才不至于代碼寫了一半才發(fā)現(xiàn)很多錯(cuò)誤。在具體代碼操作之前的設(shè)計(jì)規(guī)劃與構(gòu)建才是一個(gè)優(yōu)秀的程序設(shè)計(jì)的靈魂。</p><p><b>  源程序代碼</b></p><p>  MainFrame.java&

15、lt;/p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.WindowAdapter;</p><p>  import java.awt.event.

16、WindowEvent;</p><p>  import javax.swing.ImageIcon;</p><p>  import javax.swing.JButton;</p><p>  import javax.swing.JFrame;</p><p>  import javax.swing.JLabel;</p&g

17、t;<p>  import javax.swing.JOptionPane;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.UIManager;</p><p>  public class MainFrame extends JFrame </p>

18、<p>  implements ActionListener{</p><p><b>  /**</b></p><p><b>  * 主界面</b></p><p><b>  */</b></p><p>  private static final lon

19、g serialVersionUID = -5091759600907766137L;</p><p>  JButton jb1,jb2,jb3,jb4,jb5;</p><p>  JPanel jpl;</p><p>  JLabel jlb;</p><p>  ImageIcon image = new ImageIcon(&qu

20、ot;MainFrame.jpg");//加窗口背景</p><p>  public MainFrame(){</p><p>  super("房產(chǎn)管理系統(tǒng)");</p><p>  setBounds(200,200,500,400);</p><p>  jb1=new JButton("房產(chǎn)信

21、息");</p><p>  jb2=new JButton("住房信息");</p><p>  jb3=new JButton("密碼修改");</p><p>  jb4=new JButton("查詢");</p><p>  jb5=new JButton(&qu

22、ot;關(guān)于");</p><p>  jb1.setBounds(230,10,100,35);</p><p>  jb2.setBounds(230,60,100,35);</p><p>  jb3.setBounds(230,110,100,35);</p><p>  jb4.setBounds(230,160,100,3

23、5);</p><p>  jb5.setBounds(230,210,100,35);</p><p>  getContentPane().setLayout(null);</p><p>  // 把內(nèi)容窗格轉(zhuǎn)化為JPanel,否則不能用方法setOpaque()來(lái)使內(nèi)容窗格透明</p><p>  jpl=(JPanel) this.

24、getContentPane();</p><p>  jpl.setOpaque(false);</p><p>  jlb=new JLabel(image);//把背景圖片顯示在標(biāo)簽里</p><p>  //把標(biāo)簽的大小位置設(shè)置為圖片剛好填充整個(gè)面板</p><p>  jlb.setBounds(0, 0, image.getIc

25、onWidth(),</p><p>  image.getIconHeight());</p><p>  jpl.add(jb1);jpl.add(jb2);</p><p>  jpl.add(jb3);jpl.add(jb4);jpl.add(jb5);</p><p>  this.getLayeredPane().setLayou

26、t(null);</p><p>  // 把背景圖片添加到分層窗格的最底層</p><p>  this.getLayeredPane().add(jlb, new Integer(Integer.MIN_VALUE));</p><p>  this.setLocation(200, 200);</p><p>  this.setRes

27、izable(false);</p><p>  this.setVisible(true);</p><p>  jb1.addActionListener(this);</p><p>  jb2.addActionListener(this);</p><p>  jb3.addActionListener(this);</p&g

28、t;<p>  jb4.addActionListener(this);</p><p>  jb5.addActionListener(this);</p><p>  addWindowListener(new WindowAdapter(){</p><p>  public void windowClosing(WindowEvent e){&

29、lt;/p><p>  setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);</p><p><b>  }</b></p><p><b>  });</b></p><p><b>  }</b></p><p

30、>  public static void main(String[] args) {</p><p><b>  try{</b></p><p>  UIManager.setLookAndFeel(UIManager</p><p>  .getSystemLookAndFeelClassName());</p>&l

31、t;p>  new ManagerLogin();</p><p>  }catch(Exception ex){ex.printStackTrace();}</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><

32、p>  if(e.getSource()==jb1)//單擊“房產(chǎn)管理”時(shí)</p><p>  new HouseManage();</p><p>  if(e.getSource()==jb2)//單擊“住戶管理”時(shí)</p><p>  new UserManage();</p><p>  if(e.getSource()==jb

33、3)// 單擊“密碼修改”時(shí)</p><p>  new ChangeCode();</p><p>  if(e.getSource()==jb4)//單擊“查詢”時(shí)</p><p>  new QueryInformation();</p><p>  if(e.getSource()==jb5)//單擊“關(guān)于”時(shí)</p>

34、<p>  JOptionPane.showMessageDialog( </p><p>  null, "此系統(tǒng)僅為本單位內(nèi)部人員使用," +</p><p>  "如有疑問(wèn),請(qǐng)與區(qū)域領(lǐng)導(dǎo)聯(lián)系");</p><p><b>  }</b></p><p><b

35、>  }</b></p><p>  HouseManage.java</p><p>  import java.awt.Container;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListene

36、r;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p>&l

37、t;p>  import java.sql.Statement;</p><p>  import javax.swing.ImageIcon;</p><p>  import javax.swing.JButton;</p><p>  import javax.swing.JFrame;</p><p>  import java

38、x.swing.JLabel;</p><p>  import javax.swing.JOptionPane;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.JTextField;</p><p>  class HouseManage extends

39、JFrame implements ActionListener{</p><p>  private static final long serialVersionUID = 7369478551299559505L;</p><p>  Container cp;</p><p>  JLabel lb1,lb2,lb3,lb4,lb5;</p>

40、<p>  JLabel lb; //用來(lái)放圖片</p><p>  JTextField houseName,houseLocation,houseArea,</p><p>  houseNature,houseTime; </p><p>  JButton bt;</p><p>  JPanel jp;//</p&g

41、t;<p>  ImageIcon image = new ImageIcon("houseInformation.jpg");//加窗口背景</p><p>  public HouseManage(){</p><p>  super("房產(chǎn)信息");</p><p>  setBounds(195,

42、195,510,410);</p><p>  setVisible(true);</p><p>  lb1=new JLabel("房主姓名* ");//初始化</p><p>  lb2=new JLabel("房產(chǎn)位置* ");</p><p>  lb3=new JLabel("

43、;面積 *");</p><p>  lb4=new JLabel("居住性質(zhì) *");</p><p>  lb5=new JLabel("起止時(shí)間");</p><p>  houseName=new JTextField(12);</p><p>  houseLocation=new

44、JTextField(12);</p><p>  houseArea=new JTextField(12);</p><p>  houseNature=new JTextField(12);</p><p>  houseTime=new JTextField(12);</p><p>  bt=new JButton("添加&

45、quot;);</p><p>  lb1.setBounds(20,20,100,30); //標(biāo)簽位置 </p><p>  lb2.setBounds(20,60,100,30); </p><p>  lb3.setBounds(20,100,100,30);</p><p>  lb4.setBounds(2

46、0,140,100,30);</p><p>  lb5.setBounds(20,180,100,30);</p><p>  houseName.setBounds(140,20,100,30);//文本框位置</p><p>  houseLocation.setBounds(140,60,100,30);</p><p>  hous

47、eArea.setBounds(140,100,100,30);</p><p>  houseNature.setBounds(140,140,100,30);</p><p>  houseTime.setBounds(140,180,100,30);</p><p>  bt.setBounds(180,240,80,30);//button位置</p&

48、gt;<p>  getContentPane().setLayout(null);</p><p>  // 把內(nèi)容窗格轉(zhuǎn)化為JPanel,否則不能用方法setOpaque()來(lái)使內(nèi)容窗格透明</p><p>  jp=(JPanel) this.getContentPane();</p><p>  jp.setOpaque(false);<

49、;/p><p>  lb=new JLabel(image);//把背景圖片顯示在標(biāo)簽里</p><p>  //把標(biāo)簽的大小位置設(shè)置為圖片剛好填充整個(gè)面板</p><p>  lb.setBounds(0, 0, image.getIconWidth(),</p><p>  image.getIconHeight());</p>

50、<p>  jp.add(lb1);jp.add(lb2);jp.add(lb3);jp.add(lb4);jp.add(lb5);</p><p>  jp.add(houseName);jp.add(houseLocation);jp.add(houseArea);</p><p>  jp.add(houseNature);jp.add(houseTime);</p

51、><p>  jp.add(bt); </p><p>  this.getLayeredPane().setLayout(null);</p><p>  // 把背景圖片添加到分層窗格的最底層</p><p>  this.getLayeredPane().add(lb, new Integer(Integer.MIN_VALUE));<

52、;/p><p>  bt.addActionListener(this);</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  addInformation();//添加到數(shù)據(jù)庫(kù)中</p>

53、<p><b>  }</b></p><p>  //連接數(shù)據(jù)庫(kù),添加信息</p><p>  private void addInformation() {</p><p>  String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";</p><p>

54、  String conURL="jdbc:odbc:House";</p><p><b>  try{</b></p><p>  Class.forName(JDriver);</p><p>  }catch(ClassNotFoundException e){</p><p>  Syste

55、m.out.println("加載驅(qū)動(dòng)程序失敗");}</p><p><b>  try</b></p><p><b>  {</b></p><p>  Connection con=DriverManager.getConnection(conURL);</p><p>

56、  Statement s=con.createStatement();</p><p>  String houseNames=houseName.getText().trim();</p><p>  String houseLocations=houseLocation.getText().trim();</p><p>  String houseAreas

57、=houseArea.getText().trim();</p><p>  String houseNatures=houseNature.getText().trim();</p><p>  String houseTimes=houseTime.getText().trim();</p><p>  String str="insert into

58、houseInformation values('"+houseNames+"','"</p><p>  +houseLocations+"','"+houseAreas+"','"+houseNatures+"','"</p><

59、p>  +houseTimes+"');";</p><p>  String query="select*from houseInformation where" +</p><p>  " 房主姓名='"+houseName+"'";</p><p> 

60、 ResultSet rs=s.executeQuery(query);</p><p>  boolean moreRecords=rs.next();</p><p>  if(moreRecords)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDial

61、og(null, "該房主姓名已存在,請(qǐng)重新輸入");</p><p>  con.close();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(houseName.getText().length()==

62、0</p><p>  ||houseLocation.getText().length()==0</p><p>  ||houseArea.getText().length()==0</p><p>  ||houseNature.getText().length()==0)</p><p><b>  {</b>&

63、lt;/p><p>  JOptionPane.showMessageDialog(null, "*為必填項(xiàng),不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  int insert=s.executeUpd

64、ate(str);</p><p>  if(insert==1){</p><p>  JOptionPane.showMessageDialog(null, "添加成功!");</p><p>  houseName.setText(null);</p><p>  houseLocation.setText(null

65、);</p><p>  houseArea.setText(null);</p><p>  houseNature.setText(null);</p><p>  houseTime.setText(null);</p><p><b>  }}</b></p><p>  catch(SQ

66、LException e){</p><p>  System.out.println("SQLException: " +e.getMessage( )); }</p><p><b>  }}</b></p><p>  ChangeCode.java</p><p>  import java

67、.awt.*;</p><p>  import java.awt.event.*;</p><p>  import java.sql.*;</p><p>  import javax.swing.*;</p><p>  import javax.swing.border.EmptyBorder;</p><p>

68、;  import javax.swing.border.LineBorder;</p><p>  @SuppressWarnings("serial")</p><p>  public class ChangeCode extends JFrame implements ActionListener{</p><p>  private J

69、TextField username;</p><p>  private TextField oldmima;</p><p>  private TextField newmima;</p><p>  private TextField checkmima;</p><p>  private JButton queding;</

70、p><p>  private JButton quxiao;</p><p>  String JDriver ="sun.jdbc.odbc.JdbcOdbcDriver";</p><p>  String conURL="jdbc:odbc:House";</p><p>  public Chan

71、geCode()</p><p><b>  {</b></p><p><b>  super();</b></p><p>  setTitle("密碼修改");</p><p>  setResizable(false);</p><p>  set

72、Bounds(200,200,500,400);</p><p>  final BorderLayout borderLayout=new BorderLayout();</p><p>  getContentPane().setLayout(borderLayout);</p><p>  final JLabel label=new JLabel();<

73、;/p><p>  ImageIcon icon =new ImageIcon("ChangeCode.jpg ");</p><p>  label.setIcon(icon);</p><p>  label.setPreferredSize(new Dimension(300,100));</p><p>  label

74、.setBorder(new LineBorder(SystemColor.activeCaptionBorder,1,false));</p><p>  getContentPane().add(label,BorderLayout.NORTH);</p><p>  final JPanel p1=new JPanel();</p><p>  p1.setB

75、order(new EmptyBorder(5,10,5,10));</p><p>  final GridLayout gridlayout=new GridLayout(0,2);</p><p>  gridlayout.setVgap(10);</p><p>  gridlayout.setHgap(5);</p><p>  p

76、1.setLayout(gridlayout);</p><p>  getContentPane().add(p1); </p><p>  final JLabel l1=new JLabel("用 戶 名:");</p><p>  l1.setFont(new Font("宋體",Font.PLAIN,20));<

77、;/p><p>  p1.add(l1);</p><p>  username=new JTextField();</p><p>  p1.add(username);</p><p>  final JLabel l2=new JLabel("舊 密 碼:");</p><p>  l2.setF

78、ont(new Font("宋體",Font.PLAIN,20));</p><p>  p1.add(l2);</p><p>  oldmima=new TextField();</p><p>  oldmima.setEchoChar('*');</p><p>  p1.add(oldmima);

79、</p><p>  final JLabel l3=new JLabel("新 密 碼:");</p><p>  l3.setFont(new Font("宋體",Font.PLAIN,20));</p><p>  p1.add(l3);</p><p>  newmima=new TextFie

80、ld();</p><p>  newmima.setEchoChar('*');</p><p>  p1.add(newmima);</p><p>  final JLabel l4=new JLabel("請(qǐng)?jiān)俅屋斎胄旅艽a:");</p><p>  l4.setFont(new Font(&quo

81、t;宋體",Font.PLAIN,20));</p><p>  p1.add(l4);</p><p>  checkmima=new TextField();</p><p>  checkmima.setEchoChar('*');</p><p>  p1.add(checkmima);</p>

82、<p>  final JPanel p2=new JPanel();</p><p>  p2.setLayout(new FlowLayout());</p><p>  queding=new JButton("確定");</p><p>  queding.addActionListener(this);</p>

83、<p>  p2.add(queding);</p><p>  quxiao=new JButton("取消");</p><p>  quxiao.addActionListener(this);</p><p>  p2.add(quxiao);</p><p>  getContentPane().ad

84、d(p2,BorderLayout.SOUTH);</p><p>  setVisible(true);</p><p><b>  }</b></p><p>  public void actionPerformed(ActionEvent e) {</p><p>  if(e.getSource()==qued

85、ing)</p><p><b>  {</b></p><p>  if(username.getText().length()==0)</p><p><b>  {</b></p><p>  JOptionPane.showMessageDialog(null, "用戶名不能為空&

86、quot;);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(oldmima.getText().length()==0)</p><p><b>  {</b></p><p> 

87、 JOptionPane.showMessageDialog(null, "舊密碼不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(checkmima.getText().equals(newmima.getText()

88、));</p><p><b>  else</b></p><p>  JOptionPane.showMessageDialog(null, "前后兩次輸入的密碼不一樣,請(qǐng)重新輸入");</p><p><b>  Modify();</b></p><p>  JOptio

89、nPane.showMessageDialog(null, "修改成功");</p><p><b>  }</b></p><p>  if(e.getSource()==quxiao)</p><p><b>  {</b></p><p>  dispose();</

90、p><p><b>  }</b></p><p><b>  }</b></p><p>  private void Modify() {</p><p><b>  try</b></p><p><b>  {</b></

91、p><p>  Class.forName(JDriver);</p><p>  }catch(ClassNotFoundException e){</p><p>  System.out.println("加載驅(qū)動(dòng)程序失敗");}</p><p><b>  try{</b></p>

92、<p>  Connection con=DriverManager.getConnection(conURL);</p><p>  Statement s=con.createStatement();</p><p>  String names=username.getText().trim();</p><p>  String checkmima

93、s=checkmima.getText().trim();</p><p>  String str="update code set 密碼='"+checkmimas</p><p>  +"'where 用戶名='"+names+"'";</p><p>  s.exe

94、cuteUpdate(str);</p><p>  con.close();</p><p>  }catch(SQLException g)</p><p><b>  {</b></p><p>  System.out.println("E Code"+g.getErrorCode());&l

95、t;/p><p>  System.out.println("E M"+g.getMessage());</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p&g

96、t;  ManagerLogin.java</p><p>  import java.awt.BorderLayout;</p><p>  import java.awt.Color;</p><p>  import java.awt.Dimension;</p><p>  import java.awt.GridLayout;<

97、;/p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.awt.event.KeyAdapter;</p><p>  import java.awt.event.KeyEv

98、ent;</p><p>  import java.sql.Connection;</p><p>  import java.sql.DriverManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p>

99、<p>  import java.sql.Statement;</p><p>  import javax.swing.ImageIcon;</p><p>  import javax.swing.JButton;</p><p>  import javax.swing.JFrame;</p><p>  import ja

100、vax.swing.JLabel;</p><p>  import javax.swing.JOptionPane;</p><p>  import javax.swing.JPanel;</p><p>  import javax.swing.JPasswordField;</p><p>  import javax.swing.J

101、TextField;</p><p>  import javax.swing.SwingConstants;</p><p>  import javax.swing.border.EmptyBorder;</p><p>  public class ManagerLogin extends JFrame {</p><p><b&

102、gt;  /**</b></p><p><b>  * 用戶登錄界面</b></p><p><b>  */</b></p><p>  private static final long serialVersionUID = -6474653288860809180L;</p><p&

103、gt;  private JPasswordField password;</p><p>  private JTextField username;</p><p>  private JButton login;</p><p>  public ManagerLogin() {</p><p><b>  super();&

104、lt;/b></p><p>  final BorderLayout borderLayout = new BorderLayout();//布局方式</p><p>  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//關(guān)閉</p><p>  borderLayout.setVgap(10);//設(shè)置間隔&

105、lt;/p><p>  getContentPane().setLayout(borderLayout);//容器設(shè)置布局</p><p>  setTitle("賓館管理員登錄");</p><p>  setBounds(200, 200, 300, 200);</p><p>  final JPanel panel =

106、 new JPanel();//面板</p><p>  panel.setLayout(new BorderLayout());//面板設(shè)置布局</p><p>  //該類提供了一個(gè)占用空間但不執(zhí)行繪制的空透明邊框。 </p><p>  panel.setBorder(new EmptyBorder(0, 0, 0, 0));</p><p

107、>  getContentPane().add(panel);//容器添加面板</p><p>  final JPanel panel2 = new JPanel();//添加面板2,并設(shè)置面板布局的方式</p><p>  final GridLayout gridLayout = new GridLayout(0, 2);</p><p>  gridL

108、ayout.setHgap(5);</p><p>  gridLayout.setVgap(15);</p><p>  panel2.setLayout(gridLayout);</p><p>  panel.add(panel2);</p><p>  //添加用戶,及用戶文本框</p><p>  final

109、 JLabel label = new JLabel();</p><p>  label.setHorizontalAlignment(SwingConstants.CENTER);//設(shè)置標(biāo)簽內(nèi)容沿 X 軸的對(duì)齊方式。 </p><p>  label.setPreferredSize(new Dimension(0, 0));//將組件的首選大小設(shè)置為常量值。</p>

110、<p>  label.setMinimumSize(new Dimension(0, 0));//將組件的最大大小設(shè)置為常量值。</p><p>  panel2.add(label);</p><p>  label.setText("用 戶 名:");</p><p>  username = new JTextField(2

111、0);</p><p>  username.setPreferredSize(new Dimension(0, 0));</p><p>  panel2.add(username);</p><p>  //添加密碼,及密碼文本框</p><p>  final JLabel label_1 = new JLabel();</p&g

112、t;<p>  label_1.setHorizontalAlignment(SwingConstants.CENTER);</p><p>  panel2.add(label_1);</p><p>  label_1.setText("密 碼:");</p><p>  password = new JPasswor

113、dField(20);</p><p>  password.setEchoChar('*');//設(shè)置密碼框的回顯字符</p><p>  password.addKeyListener(new KeyAdapter()</p><p><b>  {</b></p><p>  public void

114、 keyPressed(final KeyEvent e) //按下回車鍵有效</p><p><b>  {</b></p><p>  if (e.getKeyCode() == 10)</p><p>  login.doClick();</p><p><b>  }</b></p&g

115、t;<p><b>  });</b></p><p>  panel2.add(password);</p><p><b>  //添加重置按鈕</b></p><p>  final JPanel panel1 = new JPanel();</p><p>  panel.ad

116、d(panel1, BorderLayout.SOUTH);</p><p>  login=new JButton();</p><p>  login.addActionListener(new BookLoginAction());</p><p>  login.setText("登錄");</p><p> 

117、 panel1.add(login);</p><p><b>  //添加圖片</b></p><p>  final JLabel Label = new JLabel();</p><p>  ImageIcon Icon=new ImageIcon("Login.jpg" );</p><p>

118、;  Label.setIcon(Icon);</p><p>  Label.setOpaque(true);</p><p>  Label.setBackground(Color.GREEN);</p><p>  Label.setPreferredSize(new Dimension(270, 65));</p><p>  pan

119、el.add(Label, BorderLayout.NORTH);</p><p>  setVisible(true);</p><p>  setResizable(false);</p><p><b>  }</b></p><p>  class BookLoginAction implements Ac

120、tionListener</p><p><b>  {</b></p><p>  public void actionPerformed(final ActionEvent e)</p><p><b>  {</b></p><p>  if(e.getSource()==login)<

121、/p><p>  confirm();</p><p><b>  }</b></p><p>  @SuppressWarnings("deprecation")</p><p>  //驗(yàn)證密碼是否正確,及用戶名是否存在</p><p>  private void confi

122、rm()</p><p><b>  {</b></p><p>  String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";</p><p>  String conURL="jdbc:odbc:House";</p><p><b>

123、;  try{</b></p><p>  Class.forName(JDriver);</p><p>  }catch(ClassNotFoundException e){</p><p>  System.out.println("數(shù)據(jù)庫(kù)連接成功");}</p><p><b>  try&l

124、t;/b></p><p><b>  {</b></p><p>  Connection con=DriverManager.getConnection(conURL);</p><p>  Statement s=con.createStatement();</p><p>  String uname=us

125、ername.getText().trim();</p><p>  String mima=password.getText().trim();</p><p>  String querymima="select*from code where" +</p><p>  " 用戶名='"+uname+"&

126、#39;and 密碼='"+mima+"'";</p><p>  ResultSet rs=s.executeQuery(querymima);</p><p>  if(rs.next())</p><p><b>  {</b></p><p>  new MainFr

127、ame();</p><p>  dispose();</p><p>  con.close();</p><p><b>  }</b></p><p><b>  else{</b></p><p>  JOptionPane.showMessageDialog(nul

128、l, "該用戶不存在,請(qǐng)檢查您的輸入");</p><p><b>  }</b></p><p>  username.setText(null);</p><p>  password.setText(null);</p><p>  }catch(SQLException ex){ ex.pri

129、ntStackTrace();}</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  UseManege.java</p><p>  import java.awt

130、.Container;</p><p>  import java.awt.event.ActionEvent;</p><p>  import java.awt.event.ActionListener;</p><p>  import java.sql.Connection;</p><p>  import java.sql.Dri

131、verManager;</p><p>  import java.sql.ResultSet;</p><p>  import java.sql.SQLException;</p><p>  import java.sql.Statement;</p><p>  import javax.swing.ImageIcon;</p&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論