swing之复杂登陆界面的实现
package jiemian; import gonggong.message;
import gonggong.messageType;
import gonggong.user;
import gongju.glhylb;
import gongju.glxc; import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Font;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.ObjectOutputStream; import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTabbedPane;
import javax.swing.JTextField; import moxing.yanzheng; public class denglu extends JFrame implements ActionListener,KeyListener{ JPanel jp1,jp2,jp2_1,jp2_2,jp2_11,jp2_12,jp2_13,jp2_14,jp2_3,jp3,jp3_1,jp3_2,jp3_3; JLabel jl1,jl2,jl3,jl4,jl5; JTextField jt1;
JPanel jta1,jta2;
JPasswordField jt2; JButton jb1,jb2,jb3,jb4; JCheckBox jcb1,jcb2; JTabbedPane jtp; public denglu()
{
jp1=new JPanel();
jl1=new JLabel(new ImageIcon("image/DL.jpg"));
jp1.add(jl1); jp2_1=new JPanel();
jl2=new JLabel("QQ号码",JLabel.CENTER);
jl3=new JLabel("QQ密码",JLabel.CENTER);
jl4=new JLabel("忘记密码",JLabel.CENTER);
jl4.setFont(new Font("宋体",Font.PLAIN,));
jl4.setForeground(Color.blue);
jl5=new JLabel("<html><a href='www.qq.com'>申请密码保护</a>");
jl5.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); jt1=new JTextField();
jta1=new JPanel();
jta1.add(jt1);
jt2=new JPasswordField();
jt2.addKeyListener(this);
jta2=new JPanel();
jta2.add(jt2); jb1=new JButton("清除号码");
jp2_11=new JPanel();
jp2_11.add(jb1); jcb1=new JCheckBox("隐身登录"); jcb2=new JCheckBox("记住密码"); jp2_1.setLayout(new GridLayout(,));
jp2_1.add(jl2);jp2_1.add(jta1);jp2_1.add(jp2_11);
jp2_1.add(jl3);jp2_1.add(jta2);jp2_1.add(jl4);
jp2_1.add(jcb1);jp2_1.add(jcb2);jp2_1.add(jl5); jp2_2=new JPanel();
jp2_3=new JPanel();
jtp=new JTabbedPane();
jtp.add("QQ号码",jp2_1);
jtp.add("手机号码",jp2_2);
jtp.add("电子邮件",jp2_3); jb2=new JButton("登录");
jb2.addActionListener(this);
jb3=new JButton("取消");
jb4=new JButton("注册向导");
jp2_12=new JPanel();
jp2_12.add(jb2); jp2_13=new JPanel();
jp2_13.add(jb3); jp2_14=new JPanel();
jp2_14.add(jb4);
jp3=new JPanel();
jp3.setLayout(new GridLayout(,));
jp3.add(jp2_12);
jp3.add(jp2_13);
jp3.add(jp2_14); this.add(jp1,BorderLayout.NORTH);
this.add(jtp);
this.add(jp3,BorderLayout.SOUTH); this.setTitle("用户登陆");
this.setSize(,);
this.setLocation(, );
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true); } public static void main(String [] args)
{
denglu dl=new denglu(); } @Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==jb2)
{
user u=new user();
u.setUserid(jt1.getText().trim());
//密码要特殊处理下
u.setPasswd(new String(jt2.getPassword()));
yanzheng yz=new yanzheng();
if(yz.check(u))
{
new liebiao(u.getUserid());
this.dispose(); }
else
{
JOptionPane.showMessageDialog(this, "用户名或密码错误"); }
}
} @Override
public void keyPressed(KeyEvent e1) {
// TODO Auto-generated method stub
if(e1.getKeyCode()==KeyEvent.VK_ENTER)
{ user u=new user();
u.setUserid(jt1.getText().trim());
u.setPasswd(new String(jt2.getPassword()));
yanzheng yz=new yanzheng();
if(yz.check(u))
{
try{
liebiao lb= new liebiao(u.getUserid());
glhylb.addliebiao(u.getUserid(), lb);
message m2=new message();
m2.setMesType(messageType.message_get_onlinefriend);
m2.setSender(u.getUserid());
ObjectOutputStream oos=new ObjectOutputStream(glxc.getljfwxc(u.getUserid()).getS().getOutputStream());
oos.writeObject(m2);
}catch(Exception e){e.printStackTrace();}
this.dispose(); }
else
{
JOptionPane.showMessageDialog(this, "用户名或密码错误"); } }
} @Override
public void keyReleased(KeyEvent arg0) {
// TODO Auto-generated method stub } @Override
public void keyTyped(KeyEvent arg0) {
// TODO Auto-generated method stub }
}

swing之复杂登陆界面的实现的更多相关文章
- java swing 制作一个登陆界面,亲测有效
一.介绍 Swing 是一个为Java设计的GUI工具包. Swing是JAVA基础类的一部分. Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表. Swing提供许多比AWT ...
- 基于Oracle数据库登陆界面及功能实现 Java版
首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...
- [Django]登陆界面以及用户登入登出权限
前言:简单的登陆界面展现,以及用户登陆登出,最后用户权限的问题 正文: 首先需要在settings.py设置ROOT_URLCONF,默认值为: ROOT_URLCONF = 'www.urls'# ...
- outlook 2016 for windows 每次刷新发送接收邮件会弹出登陆界面
Q: outlook2016 for windows 每次刷新发送接收邮件会弹出登陆界面,office365 ProPlus 都是正常激活了,Word 和Excel都不存在此类问题 A: 排除用户的o ...
- javafx之登陆界面的跳转
界面布局用到的是fxml而非纯java代码,工具是javafx sence builder 账号:account 密码:password 登陆成功: 可以点击退出登陆返回到登陆页面 工程目录: pac ...
- Altium Designer15 卡在登陆界面解决办法:
Altium Designer15 卡在登陆界面解决办法: 在我的电脑系统盘中找到下面目录(注:如果看不到,需要取消隐藏文件选项.) C:\Documents and Settings\Adminis ...
- 描述Linux系统开机到登陆界面的启动过程(计时2分钟)
简述: 1.开机BIOS自检 2.MBR引导 3.grub引导菜单 4.加载内核kernel 5.启动init进程 6.读取inittab文件,执行rc.sysinit,rc等脚本 7.启动minge ...
- alertDialog创建登陆界面,判断用户输入
alertDialog创建登陆界面,需要获取用户输入的用户名和密码,获取控件对象的时候不能像主布局文件那样获得, 需要在onClickListener中获取,代码如下: public boolean ...
- 解决Ubuntu输入正确密码后无法进入桌面,一直停留在登陆界面的问题
在登陆界面按下Ctrl + Shift + F1 进入命令行模式,输入你的用户名和密码之后,敲入下面几行命令就可以了! $ cd - $ sudo chown 你的用户名:你的用户名 .Xauthor ...
随机推荐
- Loadrunder脚本篇——web_custom_request函数介绍
c语言版本: int web_custom_request(const char *RequestName, , [EXTRARES, ,] LAST ); 参数说明: RequestName ...
- gzframework开发记录
修改窗体权限: 重写方法 修改操作按钮名称 全部自定义增加操作按钮: 插入控件顺序: InsertAfterButton插入到指定控件后面 InsertBeforeButton插入到指定控件前面 公共 ...
- mybatis 一次执行多条SQL
在默认情况下,一次性发过去的多条sql是不合法的. 想要让mysql一次执行多条sql语句,必须进行手动设置. 让mysql驱动开启批量执行sql的开关. 怎么开启呢?在拼装mysql链接的url时, ...
- [POI2007]立方体大作战tet
题目 BZOJ 洛谷 做法 很巧妙的题,注意每种颜色只有两个 消除一种颜色,其实就是看中间有多少个没有被消除的块,这种动态距离问题显然能用树状数组解决 洛谷输出方案,暴力往下爬就行 My comple ...
- 结合canvas做雨滴特效
雨滴特效 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- this对象解析
this在js中有着非常广泛的应用,但其所指的对象也常常让人摸不着头脑,简而言之: this指的就是调用函数的对象,最常见的莫过以下几种 1.直接使用函数,则为window对象 function a( ...
- php数组函数-array_merge()
array_merge()函数把两个或多个数组合并为一个数组. 如果键名有重复,该键的键值为最后一个键名对应的值.如果数组是数字 索引,则键名会以连续方式重新索引. 注:如果仅仅向array_merg ...
- 20165101 实验一 Java开发环境的熟悉
#20165103 实验一 Java开发环境的熟悉 实验报告 封面 实验要求 第一部分 1.建立"自己学号exp1"的目录 2.在"自己学号exp1"目录下建立 ...
- 关于IIntelliJ IDEA(2017)安装和破解
一.下载并安装, IntelliJ IDEA的官网:https://www.jetbrains.com 二.破解. 百度下载一个 JetbrainsCrack-2.6.2.jar 破解补丁.放在你的安 ...
- VC 写注册表
BOOL Running() { HKEY hKey; LPCTSTR strRegPath = L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion ...