用swing,怎么样点击文件→登录,弹出一个登录框,可以输入用户名和密码,点击登录,用java怎么样实现
展开全部
我上传一段代码,你看看能看懂不
package com.iotek.stuManager.view;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.SwingConstants;
/**
* 登陆界面类
* @author Bernard
*
*/
@SuppressWarnings("serial")
public class FirstLogin extends JFrame {
private JPanel contentPane;//容器
private JTextField usernameInput;//文本框
private JPasswordField pwdInput;//密码框
private JLabel warning;//提示文本
private List<User> users = new ArrayList<User>(); // 创建用户集合
/**
* 程序主方法 启动第一个界面
* Launch the application
* @param args
*/
public static void main(String args[]) {
//创建UI线程,
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//创建登陆界面
FirstLogin window = new FirstLogin();
//窗口属性设置
window.setResizable(false);//设置大小可变
window.setVisible(true);//让窗口显示
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* 构造方法
* 构造方法中初始化登陆界面内容
*/
public FirstLogin() {
//初始化用户
users.add(new User("admin", "admin")); //用户名 admin 密码 admin
users.add(new User("admin1", "admin1"));//用户名 admin1 密码 admin1
users.add(new User("admin2", "admin2"));//用户名 admin2 密码 admin2
users.add(new User("admin3", "admin3"));//用户名 admin3 密码 admin3
users.add(new User("admin4", "admin4"));//用户名 admin4 密码 admin4
users.add(new User("admin5", "admin5"));//用户名 admin5 密码 admin5
/*
* 设置叉叉按钮功能
*/
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);//界面长宽高
contentPane = new JPanel();//创建容器
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));//容器边界
setContentPane(contentPane);//添加容器到主界面
contentPane.setLayout(null);//设置布局为绝对布局
/*
*初始化提示框
*/
warning = new JLabel("");//构造提示框
warning.setHorizontalAlignment(SwingConstants.CENTER);//提示框风格
warning.setBounds(105, 229, 239, 23);//提示框尺寸
warning.setForeground(Color.red);//文本颜色
contentPane.add(warning);//添加提示框到容器
/*
* 标题栏
*/
JLabel title = new JLabel("用户管理系统");//构造标题栏
title.setForeground(Color.BLUE);//设置字体颜色
title.setFont(new Font("微软雅黑", Font.PLAIN, 24));//字体
title.setBounds(152, 10, 292, 41);//设置大小
contentPane.add(title);//添加标题到容器
/*
* 版本栏
*/
JLabel version = new JLabel("version : V1.0");//初始化版本栏
version.setBounds(42, 61, 97, 15);//设置版本栏位置
contentPane.add(version);//添加版本栏到容器
/*
* 用户名栏
*/
JLabel username = new JLabel("用户名:");//初始化用户名栏
username.setBounds(72, 105, 63, 26);//设置大小
contentPane.add(username);//添加到容器
/*
* 密码栏
*/
JLabel pwd = new JLabel("密码 :");//初始化密码栏
pwd.setBounds(72, 141, 63, 26);//设置大小
contentPane.add(pwd);// 添加到容器
/*
* 用户名输入栏
*/
usernameInput = new JTextField();//初始化用户名输入
usernameInput.setBounds(187, 107, 177, 23);// 设置位置大小
contentPane.add(usernameInput);// 添加到容器
usernameInput.setColumns(10);// 限制长度
/*
* 登录按钮
*/
JButton enter = new JButton("登录");//按钮初始化
enter.setBounds(42, 189, 93, 23);//设置大小
/**
* 注册监听
*/
enter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String inputUserName = usernameInput.getText();//取用户名
char[] inputPwd = pwdInput.getPassword();// 取密码
String pwd = String.valueOf(inputPwd);//字符数组转字符串
int value = checkusername(inputUserName, pwd);
switch(value){
case 1:
FirstLogin.this.warning.setText("用户名或密码长度超出");
break;
case 2:
FirstLogin.this.warning.setText("用户名或密码不能为空");
break;
case 3:
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new Success();
} catch (Exception e) {
e.printStackTrace();
}
}
});
FirstLogin.this.dispose();
break;
case 4:
FirstLogin.this.warning.setText("密码错误");
break;
case 5:
FirstLogin.this.warning.setText("用户不存在");
break;
}
}
});
contentPane.add(enter);//添加按钮到容器
/*
* 退出按钮
*/
JButton exit = new JButton("退出");// 构造清空按钮
exit.setBounds(297, 189, 93, 23);// 位置大小
/**
* 注册监听
*/
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FirstLogin.this.dispose();
}
});
contentPane.add(exit);
/*
* 清空按钮
*/
JButton clear = new JButton("清空");//构造
clear.setBounds(168, 189, 93, 23);//位置大小
/**
* 注册监听
*/
clear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
usernameInput.setText("");//清空用户名
pwdInput.setText("");// 清空密码
warning.setText("");// 清空警告
}
});
contentPane.add(clear);
/*
* 密码输入栏
*/
pwdInput = new JPasswordField();// 创建密码输入栏
pwdInput.setBounds(187, 144, 177, 23);// 位置大小
contentPane.add(pwdInput);// 添加到容器
}
/**
* 检测用户名密码
* @param userName 用户名
* @param pwd 密码
* @return 1.长度超出 2长度为零 3 验证失败 4验证成功 5未知错误
*/
private int checkusername(String userName,String pwd){
if(userName.length()>11||pwd.length()>20){
return 1;
}
if(userName.length()==0||pwd.length()==0){
return 2;
}
for(User u : users){
if(u.checkUserNmae(userName)){
if(u.checkPwd(pwd)){
return 3;
}else{
return 4;
}
}
}
return 5;
// if(){
// return 3;
// }else if(value == 2){
// return 4;
// }else {
// return 5;
// }
}
/**
* 内部内,用户类
* @author Bernard
*
*/
class User{
private String userName;// 用户名属性
private String pwd;// 密码属性
public User(String userName ,String pwd) {
this.userName = userName;
this.pwd = pwd;
}
/**
* 验证用户名
* @param username
* @return
*/
public boolean checkUserNmae(String username){
if(this.userName.equals(username)){
return true;
}
return false;
}
/**
* 验证密码
* @param pwd
* @return
*/
public boolean checkPwd(String pwd){
if(this.pwd.equals(pwd)){
return true;
}
return false;
}
}
/**
* 内部类 登录成功界面类
* @author Bernard
*
*/
class Success extends JFrame{
/**
* 构造方法,构造成功后直接显示
*/
public Success() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);//界面长宽高
contentPane = new JPanel();//创建容器
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));//容器边界
setContentPane(contentPane);//添加容器到主界面
contentPane.setLayout(null);//设置布局为绝对布局
JLabel title = new JLabel("恭喜登录成功");//构造标题栏
title.setForeground(Color.BLUE);//设置字体颜色
title.setFont(new Font("微软雅黑", Font.PLAIN, 24));//字体
title.setBounds(152, 50, 292, 41);//设置大小
contentPane.add(title);//添加标题到容器
this.setResizable(false);
this.setVisible(true);
}
}
}
复制下来键个类直接可以运行的.这里面有你要的一切知识,看懂的话稍加修改就行
package com.iotek.stuManager.view;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import java.awt.EventQueue;
import java.awt.Font;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JPasswordField;
import javax.swing.SwingConstants;
/**
* 登陆界面类
* @author Bernard
*
*/
@SuppressWarnings("serial")
public class FirstLogin extends JFrame {
private JPanel contentPane;//容器
private JTextField usernameInput;//文本框
private JPasswordField pwdInput;//密码框
private JLabel warning;//提示文本
private List<User> users = new ArrayList<User>(); // 创建用户集合
/**
* 程序主方法 启动第一个界面
* Launch the application
* @param args
*/
public static void main(String args[]) {
//创建UI线程,
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//创建登陆界面
FirstLogin window = new FirstLogin();
//窗口属性设置
window.setResizable(false);//设置大小可变
window.setVisible(true);//让窗口显示
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* 构造方法
* 构造方法中初始化登陆界面内容
*/
public FirstLogin() {
//初始化用户
users.add(new User("admin", "admin")); //用户名 admin 密码 admin
users.add(new User("admin1", "admin1"));//用户名 admin1 密码 admin1
users.add(new User("admin2", "admin2"));//用户名 admin2 密码 admin2
users.add(new User("admin3", "admin3"));//用户名 admin3 密码 admin3
users.add(new User("admin4", "admin4"));//用户名 admin4 密码 admin4
users.add(new User("admin5", "admin5"));//用户名 admin5 密码 admin5
/*
* 设置叉叉按钮功能
*/
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);//界面长宽高
contentPane = new JPanel();//创建容器
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));//容器边界
setContentPane(contentPane);//添加容器到主界面
contentPane.setLayout(null);//设置布局为绝对布局
/*
*初始化提示框
*/
warning = new JLabel("");//构造提示框
warning.setHorizontalAlignment(SwingConstants.CENTER);//提示框风格
warning.setBounds(105, 229, 239, 23);//提示框尺寸
warning.setForeground(Color.red);//文本颜色
contentPane.add(warning);//添加提示框到容器
/*
* 标题栏
*/
JLabel title = new JLabel("用户管理系统");//构造标题栏
title.setForeground(Color.BLUE);//设置字体颜色
title.setFont(new Font("微软雅黑", Font.PLAIN, 24));//字体
title.setBounds(152, 10, 292, 41);//设置大小
contentPane.add(title);//添加标题到容器
/*
* 版本栏
*/
JLabel version = new JLabel("version : V1.0");//初始化版本栏
version.setBounds(42, 61, 97, 15);//设置版本栏位置
contentPane.add(version);//添加版本栏到容器
/*
* 用户名栏
*/
JLabel username = new JLabel("用户名:");//初始化用户名栏
username.setBounds(72, 105, 63, 26);//设置大小
contentPane.add(username);//添加到容器
/*
* 密码栏
*/
JLabel pwd = new JLabel("密码 :");//初始化密码栏
pwd.setBounds(72, 141, 63, 26);//设置大小
contentPane.add(pwd);// 添加到容器
/*
* 用户名输入栏
*/
usernameInput = new JTextField();//初始化用户名输入
usernameInput.setBounds(187, 107, 177, 23);// 设置位置大小
contentPane.add(usernameInput);// 添加到容器
usernameInput.setColumns(10);// 限制长度
/*
* 登录按钮
*/
JButton enter = new JButton("登录");//按钮初始化
enter.setBounds(42, 189, 93, 23);//设置大小
/**
* 注册监听
*/
enter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String inputUserName = usernameInput.getText();//取用户名
char[] inputPwd = pwdInput.getPassword();// 取密码
String pwd = String.valueOf(inputPwd);//字符数组转字符串
int value = checkusername(inputUserName, pwd);
switch(value){
case 1:
FirstLogin.this.warning.setText("用户名或密码长度超出");
break;
case 2:
FirstLogin.this.warning.setText("用户名或密码不能为空");
break;
case 3:
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
new Success();
} catch (Exception e) {
e.printStackTrace();
}
}
});
FirstLogin.this.dispose();
break;
case 4:
FirstLogin.this.warning.setText("密码错误");
break;
case 5:
FirstLogin.this.warning.setText("用户不存在");
break;
}
}
});
contentPane.add(enter);//添加按钮到容器
/*
* 退出按钮
*/
JButton exit = new JButton("退出");// 构造清空按钮
exit.setBounds(297, 189, 93, 23);// 位置大小
/**
* 注册监听
*/
exit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
FirstLogin.this.dispose();
}
});
contentPane.add(exit);
/*
* 清空按钮
*/
JButton clear = new JButton("清空");//构造
clear.setBounds(168, 189, 93, 23);//位置大小
/**
* 注册监听
*/
clear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
usernameInput.setText("");//清空用户名
pwdInput.setText("");// 清空密码
warning.setText("");// 清空警告
}
});
contentPane.add(clear);
/*
* 密码输入栏
*/
pwdInput = new JPasswordField();// 创建密码输入栏
pwdInput.setBounds(187, 144, 177, 23);// 位置大小
contentPane.add(pwdInput);// 添加到容器
}
/**
* 检测用户名密码
* @param userName 用户名
* @param pwd 密码
* @return 1.长度超出 2长度为零 3 验证失败 4验证成功 5未知错误
*/
private int checkusername(String userName,String pwd){
if(userName.length()>11||pwd.length()>20){
return 1;
}
if(userName.length()==0||pwd.length()==0){
return 2;
}
for(User u : users){
if(u.checkUserNmae(userName)){
if(u.checkPwd(pwd)){
return 3;
}else{
return 4;
}
}
}
return 5;
// if(){
// return 3;
// }else if(value == 2){
// return 4;
// }else {
// return 5;
// }
}
/**
* 内部内,用户类
* @author Bernard
*
*/
class User{
private String userName;// 用户名属性
private String pwd;// 密码属性
public User(String userName ,String pwd) {
this.userName = userName;
this.pwd = pwd;
}
/**
* 验证用户名
* @param username
* @return
*/
public boolean checkUserNmae(String username){
if(this.userName.equals(username)){
return true;
}
return false;
}
/**
* 验证密码
* @param pwd
* @return
*/
public boolean checkPwd(String pwd){
if(this.pwd.equals(pwd)){
return true;
}
return false;
}
}
/**
* 内部类 登录成功界面类
* @author Bernard
*
*/
class Success extends JFrame{
/**
* 构造方法,构造成功后直接显示
*/
public Success() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);//界面长宽高
contentPane = new JPanel();//创建容器
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));//容器边界
setContentPane(contentPane);//添加容器到主界面
contentPane.setLayout(null);//设置布局为绝对布局
JLabel title = new JLabel("恭喜登录成功");//构造标题栏
title.setForeground(Color.BLUE);//设置字体颜色
title.setFont(new Font("微软雅黑", Font.PLAIN, 24));//字体
title.setBounds(152, 50, 292, 41);//设置大小
contentPane.add(title);//添加标题到容器
this.setResizable(false);
this.setVisible(true);
}
}
}
复制下来键个类直接可以运行的.这里面有你要的一切知识,看懂的话稍加修改就行
2013-12-20
展开全部
第一步:写一个登陆界面 . 第二步:在点击文件->登陆时 实例化登陆界面就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |