用swing,怎么样点击文件→登录,弹出一个登录框,可以输入用户名和密码,点击登录,用java怎么样实现

 我来答
惊醒_走
推荐于2016-10-24 · TA获得超过101个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:102万
展开全部
我上传一段代码,你看看能看懂不
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
展开全部
第一步:写一个登陆界面 . 第二步:在点击文件->登陆时 实例化登陆界面就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式