正文

[JAVA]北大青鸟第二学习结业考试机试题2006-08-16 23:16:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/fengfei/17631.html

分享到:

 

题目:输入用户姓名和密码,当姓名和密码正确时(姓名:java, 密码:123),则显示登陆成功,错误时,则提示错误,并清空姓名和密码,且姓名文本框获得焦点。 题目大概是这样。  以下是我的代码实现:

运行效果如下:


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


/* 定义用户类 */
class User
{
 
 private String userName; // 用户姓名
 private String password; // 密码
 
 public void setUserName( String n )  // 设置用户姓名
 {
  userName = n;
 }
 
 public void setPassword( String s )  // 设置密码
 {
   password = s;
 }
 
 public String getUserName( ) // 获得用户姓名
 {
  return userName;
 }
 
 public String getPassword( ) // 获得密码
 {
  return password;
 }
  
 public boolean verify( )  // 检测用户输入的姓名和密码是否正确
 { 
  /* 正确返回true, 错误返回false */                         
  if ( getUserName().equals("java") && getPassword().equals("123") )
   return true;
  else
   return false;
 }
 
}


public class Login extends JFrame implements ActionListener
{
 JLabel lblUserName; 
 JLabel lblPassword;
 JTextField tfUserName;
 JPasswordField pfPassword;
 JButton btnLogin; 
 User people; // 定义用户对象
  
 public Login( String title )
 {
  super( title );
  
  lblUserName = new JLabel( "用户名:" ); 
  lblPassword = new JLabel( "密码:" );
  tfUserName = new JTextField( 15 );
  pfPassword = new JPasswordField( );
  btnLogin = new JButton( "登陆" ); // 初始化登陆按钮
  people = new User( ); // 初始化用户对象
  
  btnLogin.addActionListener(this); // 注册动作事件
  
  /* 定义面版 */
  JPanel p1 = new JPanel( );
  JPanel p2 = new JPanel( );
  
  /* 设置面版布局 */
  p1.setLayout( new GridLayout(2,2) );
  p2.setLayout( new FlowLayout( ) );
  
  /* 面版添加控件 */
  p1.add( lblUserName );
  p1.add( tfUserName );
  p1.add( lblPassword );
  p1.add( pfPassword );
  p2.add( btnLogin );
  
  /* 定义容器和使容器添加面版 */
  Container con = this.getContentPane();
  con.add( p1, BorderLayout.NORTH );
  con.add( p2, BorderLayout.SOUTH );
  
 }
 
 /* 定义动作事件 */
 public void actionPerformed( ActionEvent e ) 
 {
  /* 设置用户姓名和密码 */
  people.setUserName( tfUserName.getText().trim() );
  people.setPassword( pfPassword.getText().trim() );
  
  /* 检测输入的用户的姓名和密码是否正确 */
  if ( people.verify() == true )  // 正确
  {
   /* 输出正确提示 */
   JOptionPane.showMessageDialog( null, "登陆成功!", "提示信息",
                                  JOptionPane.CLOSED_OPTION );                                 
  }
  else  // 错误
  {
   /* 输出错误提示 */
   JOptionPane.showMessageDialog( null, "请输入正确的登陆信息", "提示信息",
                                  JOptionPane.CLOSED_OPTION );   
         
   tfUserName.setText( "" );  // 清空用户姓名文本框
   pfPassword.setText( "" );  // 清空密码文本框 
   tfUserName.requestDefaultFocus(); // 用户姓名文本框获得焦点
  }
  
 }
 
 public static void main( String agrs[] )
 {
  Login log = new Login( "登陆" ); // 定义登陆类
  
  log.setSize( 200, 110 ); // 设置窗口大小
  log.setLocation( 200,200 ); // 设置显示位置
  log.setVisible( true );  // 设置窗口是否可见
 }
 
}

阅读(7799) | 评论(2)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册