没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java
实现《通讯录》系统
登陆界面:
源码:
package source s;
import ja va.a wt .* ;
import jav a. awt .e v ent .*;
import ja vax. sw in g. *;
publicclass LoginF ormextends JFrame implements
Acti on Li st en er
{
//
声明组件
privateJPaneljpa nel 1 =newJPanel();
//声明面板容器
privateJLabel[] arrayJLabel ={newJLabel("用户名:"),new
JLabel("密码: " ) , newJLabel("")};
//声明包含三个标签的标签数组
private JTextField userNameJTextField=new JTextField();
//声明用户名文本域
private JPasswordField passwordJPasswordField=new
JPasswordField();
//声明密码输入域
private JButton[] arrayJButton={new JButton("登录"),new
JButton("注册")};
//声明包含两个按钮数组
//构造函数public LoginForm() {
//设置窗体相关属性
//设置标题栏显示图标
Image icon2=Toolkit.getDefaultToolkit().getImage("images\\
ico.gif"); this.setIconImage(icon2);
//设置窗口标题this.setTitle("--登录--");
//设置窗口不可拖动大小this.setResizable(false);
//设置窗口大小this.setSize(350,300);
//获取屏幕尺寸Dimension
screenSize=Toolkit.getDefaultToolkit().getScreenSize(); int
screenWidth=screenSize.width; int
srceenHeight=screenSize.height; //设置窗口居于屏幕中央
setLocation((screenWidth-getWidth())/2,(srceenHeight-
getHeight())/2);
//设置组件的相关属性
//设置面板容器的布局策略为空
jpanel1.setLayout(null);
//设置面板容器背景色
jpanel1.setBackground(Color.WHITE);
//利用循环添加标签和按钮
for(int i=0;i<2;i++) {
//设置 2 个标签和 2 个按钮的位置及大小
arrayJLabel[i].setBounds(65, 164+i*35, 80, 26);
arrayJButton[i].setBounds(60+i*135, 235, 90, 26);
//设置 2 个标签和两个按钮的文本颜色
arrayJLabel[i].setForeground(Color.RED);
arrayJButton[i].setForeground(Color.RED);
//设置 2 个标签和两个按钮的字体arrayJLabel[i].setFont(new Font("宋
体",Font.PLAIN,14)); arrayJButton[i].setFont(new Font("宋
体",Font.PLAIN,15));
//将 2 个标签和 2 个按钮添加到面板容器jpanel1.add(arrayJLabel[i]);
jpanel1.add(arrayJButton[i]);
//为按钮添加动作事件监听器
arrayJButton[i].addActionListener(this); }
//设置文本域和密码框的最大输入字符量
userNameJTextField.setColumns(15);
passwordJPasswordField.setColumns(16);
//设置文本域和密码框的位置及大小userNameJTextField.setBounds(115,
161, 160, 30); passwordJPasswordField.setBounds(115, 198,
160, 30);
//设置密码输入回显字符passwordJPasswordField.setEchoChar('*');
//设置文本域和密码框的文本颜色
userNameJTextField.setForeground(Color.RED);
passwordJPasswordField.setForeground(Color.RED);
//设置文本域和密码框的字体userNameJTextField.setFont(new Font("宋
体",Font.BOLD,16)); passwordJPasswordField.setFont(new
Font("宋体",Font.BOLD,16));
//定义一个图标对象,用于显示登陆界面图像ImageIcon icon1=new
ImageIcon("images\\txl_1.jpg");
//设置图像arrayJLabel[2].setIcon(icon1);
//设置标签位置及尺寸arrayJLabel[2].setBounds(0,0,350,158);
//将文本域和密码框添加到面板容器jpanel1.add(arrayJLabel[2]);
jpanel1.add(userNameJTextField);
jpanel1.add(passwordJPasswordField);
//为文本域和密码框添加事件监听器
userNameJTextField.addActionListener(this);
passwordJPasswordField.addActionListener(this); //将面板
容器添加到内容窗格this.add(jpanel1); //为窗口添加关闭响应事件
this.addWindowListener(new WindowAdapter() { public void
windowClosing(WindowEvent e)
{ System.exit(0); } }); //显示窗体
this.setVisible(true); } //定义一个公共方法,清空文本域内容,并
定位焦点到文本域public void userNameClear() { //清空文本域内容
userNameJTextField.setText(""); //文本域获得焦点
userNameJTextField.requestFocus(); }
//定义一个公共方法,清空密码框内容,并定位焦点到密码框public void
passwordClear() { //清空密码框内容
passwordJPasswordField.setText(""); //密码框获得焦点
passwordJPasswordField.requestFocus(); }
//@Override //声明此方法为重写方法//实现 ActionListener 接口的
方法,以实现对事件的监听处理public void
actionPerformed(ActionEvent e) { //定义变量(用于调用
DBOperate 类的方法的实参传递) String
user=userNameJTextField.getText().toString().trim(); //用
户名变量String
pwd=String.valueOf(passwordJPasswordField.getPassword());
//密码变量String sql="";
//SQL 查询语句变量//如果事件源是文本域输入框,则进行相应操作
if(e.getSource()==userNameJTextField) {
//让焦点转移到密码框passwordJPasswordField.requestFocus(); }
//如果事件源是登录按钮或者是在输入密码完毕后点击了回车按钮,则进行相应操作
else if(e.getSource()==arrayJButton[0]||
e.getSource()==passwordJPasswordField) { //判断输入是否合法
if(user.equals("")) { //提示输入不合法
JOptionPane.showMessageDialog(this, "用户名输入不合法!", "系统提
示", JOptionPane.INFORMATION_MESSAGE); //文本域获得焦点
userNameJTextField.requestFocus(); //该句可防止用户名和密码均
为空一次性弹出 2 个对话框return; } if(pwd.equals(""))
{ //提示输入不合法
JOptionPane.showMessageDialog(this, "密码输入不合法!", "系统提示",
JOptionPane.INFORMATION_MESSAGE); //密码框获得焦点
passwordJPasswordField.requestFocus(); return; }
else { //调用 DBOperate 类的方法进行判断,用户名及密码是否匹配
if(DBOperate.check(user,pwd)) { //登录成功,显示主窗体,
并传递登录‘用户名’作为实参MainFrame mainframe=new
MainFrame(user); mainframe.setVisible(true); //释放登
录窗口this.dispose(); } else { //登录失败,
提示用户名或密码出错JOptionPane.showMessageDialog(null, "用户名
或密码有误,\n 请检查是否无误再进行登录!", "系统提
示",JOptionPane.ERROR_MESSAGE);
//清空密码框this.passwordClear(); //清空文本域
this.userNameClear(); return; } } } //如果事件
源是注册按钮则进行相应操作else if(e.getSource()==arrayJButton[1])
{ //判断文本域是否为空if(user.equals("")) { //提示输
入不合法JOptionPane.showMessageDialog(this, "用户名不能为空!",
"系统提示", JOptionPane.INFORMATION_MESSAGE); //清除文本域内
容this.userNameClear(); //文本域获得焦点
userNameJTextField.requestFocus(); //该句可防止用户名和密码均
为空一次性弹出 2 个对话框return; }
剩余36页未读,继续阅读
资源评论
zhming2083
- 粉丝: 1
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功