java语言图形用户登录界面代码

本文实例为大家分享了java登录界面的具体实现代码,供大家参考,具体内容如下

1. Login.java

package wzb;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.util.Random;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login extends JFrame implements ActionListener {
 String userName;
 String password;
 String captcha;
 public static String randomcaptcha;

 public JLabel logoLabel, userNameLabel, passwordLabel, captchaLabel;
 public JTextField userNameInput, captchaInput;
 public JPasswordField passwordInput;
 public JButton login, logout,change;
 public Panel panel;

 public Login() {
  setTitle("µÇ¼½çÃæ");
  setSize(400, 300);
  setLocationRelativeTo(null);
  init();
  setVisible(true);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setResizable(false);
 }

 public void init() {
  setLayout(null);
  // logoLabel= new JLabel();
  // logoLabel.setIcon(new ImageIcon("E:\\eclipse\\student3\\welcome.gif"));
  logoLabel = new JLabel(new ImageIcon("welcome.gif"));
  logoLabel.setBounds(125, 10, 150, 70);
  add(logoLabel);

  userNameLabel = new JLabel("̞:");
  userNameLabel.setBounds(90, 90, 60, 40);
  add(userNameLabel);
  userNameInput = new JTextField();
  userNameInput.setBounds(150, 100, 150, 20);
  add(userNameInput);

  passwordLabel = new JLabel("ÃÜ¡¡Âë:");
  passwordLabel.setBounds(90, 120, 60, 40);
  add(passwordLabel);
  passwordInput = new JPasswordField();
  passwordInput.setBounds(150, 130, 150, 20);
  add(passwordInput);

  captchaLabel = new JLabel("ÑéÖ¤Âë:");
  captchaLabel.setBounds(90, 150, 60, 40);
  add(captchaLabel);
  captchaInput = new JTextField();
  captchaInput.setBounds(150, 160, 70, 20);
  add(captchaInput);

  panel = new PanelDemo();
  panel.setBounds(220, 160, 80, 20);
  add(panel);

  change = new JButton("»»Ò»»»");
  change.setBounds(300, 160, 80, 20);
  change.setContentAreaFilled(false);
  change.setBorderPainted(false);
  add(change);

  login = new JButton("µÇ¼£¨L£©", new ImageIcon("login.gif"));
  login.setBounds(70, 200, 120, 30);
  login.setMnemonic(KeyEvent.VK_L);
  add(login);
  logout = new JButton("Í˳ö£¨X£©", new ImageIcon("exit.gif"));
  logout.setBounds(210, 200, 120, 30);
  logout.setMnemonic(KeyEvent.VK_X);
  add(logout);

  userNameInput.addActionListener(this);
  passwordInput.addActionListener(this);
  captchaInput.addActionListener(this);

  login.addActionListener(this);
  logout.addActionListener(this);
  change.addActionListener(this);
 }

 public void actionPerformed(ActionEvent e) {

  userName = userNameInput.getText();
  password = new String(passwordInput.getPassword());
  captcha = captchaInput.getText();

  if (e.getSource() == change) {
   panel.repaint();
  }
  if (e.getSource() == login) {
   if ((userName.equals("w")) && (password.equals("w"))) {
    if (captcha.equals(randomcaptcha)) {
     JOptionPane.showMessageDialog(this, "»¶Ó­µÇ½!");
    } else {
     JOptionPane.showMessageDialog(this, "ÑéÖ¤Âë´íÎó!");
     panel.repaint();
    }
   } else {
    JOptionPane.showMessageDialog(this, "Óû§Ãû»òÃÜÂë´íÎó!");
   }
  }
  if (e.getSource() == logout) {
   JOptionPane.showMessageDialog(this, "»¶Ó­Ï´ÎÔÙÀ´£¡");
   //System.exit(0);
   dispose();
  }
 }
 public static void main(String[] args) {
  new Login();
 }
}
class PanelDemo extends Panel {

 public void paint(Graphics g) {
  int width = 80;
  int height = 20;
  g.setColor(Color.LIGHT_GRAY);
  g.fillRect(0, 0, width, height);
  g.setColor(Color.BLACK);
  g.drawRect(0, 0, width, height);
  Random rd = new Random();
  for (int i = 0; i < 100; i++) {
   int x = rd.nextInt(width) - 2;
   int y = rd.nextInt(height) - 2;
   g.setColor(Color.RED);
   g.drawOval(x, y, 2, 2);
  }
  g.setFont(new Font("ºÚÌå", Font.BOLD, 20));
  g.setColor(Color.BLUE);
  char[] c = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789".toCharArray();
  StringBuffer sb = new StringBuffer();
  for (int i = 0; i < 4; i++) {
   int index = rd.nextInt(c.length);
   sb.append(c[index] + " ");
  }
  g.drawString(sb.toString(), 0, 18);

  String str = sb.toString().replaceAll(" ", "");
  Login.randomcaptcha = str;
 }
}

2. 捕获.PNG   

以上就是本文的全部内容,希望对大家学习java程序设计有所帮助。

(0)

相关推荐

  • Java Web用户登录实例代码

    实现功能: 1.用户登陆.注销 2.利用session记录用户登陆信息 3.在JSP中展示已登陆用户信息 实现原理: 登陆后通过判断用户名和密码是否和存储的一致,如果一致,就把用户信息放到session中储存:如果不一致就提示信息,并且返回登陆页面. 显示信息页面上固定从session中找用户登陆信息,找到就显示用户信息,没找到就显示登陆框. 注销很简单,就是清空session信息. 主要文件: 1.LoginAction:struts2的Action类,用于处理JAVA端的主要登陆和登出逻辑.

  • JavaWeb使用Cookie模拟实现自动登录功能(不需用户名和密码)

    其中包含两个jsp文件,分别为login.jsp和index.jsp 代码如下: login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "

  • Java 多用户登录限制的实现方法

    最近比较空闲没有项目做,于是乎捋了捋平时工作会遇到的一些常见问题,首先想到了多用户登录限制问题,下面就对此问题做一点思考讲解. 相关阅读: Java Web开发防止多用户重复登录的完美解决方案 1.设计场景 1)同一时刻不允许某个用户多地登录 2)用户已在A处登录,现在从B处登录是允许的,但会把A处挤掉(考虑到用户在A处登录后因某些情况跑到了B处,但还想继续之前的工作,所以需要登录系统) 3)B处挤掉A后,A再做其它操作的时候系统会给出提示,该用户在别处登录,如不是本人操作可能密码泄漏,请修改密

  • Java struts2 validate用户登录校验功能实现

    首先贴一下搭配的环境: 配置: Eclipse4.3.2 jdk1.7_45 Mysql 5.0+ 然后切入正题: 1.login.jsp 主要是使用OGNL 标签 也可使用html form表单,调用LoginAction.action,以post 方式传输. 在LoginaAction 经过判断,然后会有提示信息,需要用到 <s:fielderror/>来显示. <%@ taglib uri="/struts-tags" prefix="s"%

  • java实现用户自动登录

    自动登录,是为了帮助用户多次使用这个网页时,不用再次输入用户名和密码就可以登录. 自动登录是指用户将用户的登录信息,人,保存到本地的文件中Cookie中. Name,value -声明时 new Cookie(key,value); Path-默认值,即为当前保存cookie的这个serlvet所在的路径. 如果Cookie在这样的路径:http://loclhost:8080/project/abc/AServlet 则Cookie的路径为: http://loclhost/project/a

  • java中使用Filter控制用户登录权限具体实例

    学jsp这么长时间,做的项目也有七八个了,可所有的项目都是用户登录就直接跳转到其拥有权限的页面,或者显示可访问页面的链接.使用这种方式来幼稚地控制访问权限.从来没有想过如果我没有登录,直接输入地址也可以直接访问用户的页面的. 在jsp中权限的控制是通过Filter过滤器来实现的,所有的开发框架中都集成有Filter,如果不适用开发框架则有如下实现方法: LoginFilter.java 复制代码 代码如下: public class LoginFilter implements Filter {

  • JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    下面通过通过图文并茂的方式给大家介绍JavaWeb实现用户登录注册功能实例代码,一起看看吧. 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp负责数据显示,javabean负责封装数据. Servlet+JSP+JavaBean模式程序各个模块之间层次清晰,web开发推荐采用此种模式. 这里以一个最常用的用户登录注册程序来讲解Servlet+JS

  • 在jsp中用bean和servlet联合实现用户注册、登录

    声明:作者原创,版权所有.未经授权,不得转载 在jsp中用bean和servlet联合实现用户注册.登录 作者:imagebear版权:imagebear 本例需要的软件和运行环境:1.Windows2000 Server操作系统2.jdk1.43.JCreator2.5(java源码编辑调试器,吐血推荐!)4.Macromedia JRun MX5.Macromedia Dreamweaver MX(非必需)6.MySQL数据库(最好安装MySQL Control Center) 一.数据库设

  • servlet实现用户登录小程序

    当时在上JAVA课的时候,老师就给我们讲过SUN公司的servlet是一个典型的JAVA语言的应用.现在在上网络编程课的时候,终于接触到了这种服务器小程序. 现在我们就用servlet来简单实现一个用户登录的小程序. 首先,servlet也是一个JAVA类,新建一个JAVA类,它直接继承了HttpServlet类: @WebServlet(name = "ServletTest") public class ServletTest extends HttpServlet { @Over

  • java语言图形用户登录界面代码

    本文实例为大家分享了java登录界面的具体实现代码,供大家参考,具体内容如下 1. Login.java package wzb; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Panel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.e

  • Java用户登录验证代码

    废话不多说了,关键代码如下所示: import java.util.*; public class Demo04 { public static void main(String[] args){ //声明变量 String root="jim";//用户名 int passwd=123456;//密码 int time=0;//循环次数 int sum=0;//总计次数 Scanner input=new Scanner(System.in);//获取键盘输入 //for循环内 fo

  • Java 实现模拟用户登录的示例代码

    创建一个用户类类型的集合,手动输入用户库 主要是判定输入的用户名和密码是否与库中的匹配 做好区别是用户名输入错误还是密码输入错误的提示. 定义用户类 public class User{ String username; String keyword; public User(String username, String keyword) { this.username = username; this.keyword = keyword; } } 主程序 import java.util.A

  • java实现简单QQ登录界面

    本文实例为大家分享了java实现简单QQ登录界面的具体代码,供大家参考,具体内容如下 java在图形界面,不是太强项,但不是不可以做,它的开源是very nice! 实现代码如下(想实现完美的界面,可能要更多coding的支持): package com.ts.x.swing; import java.awt.Color; import java.awt.Container; import java.awt.Cursor; import java.awt.Font; import java.aw

  • Java Swing仿QQ登录界面效果

    本文实例为大家分享了Java Swing仿QQ登录界面展示的具体代码,供大家参考,具体内容如下 闲来无事将早些时候已实现的QQ登录界面再实现了一遍,纯手工打造(意思是没有用NetBeans.MyEclipse的拖动功能). 源代码如下: package ibees.qq; import java.awt.BorderLayout; import java.net.URL; import javax.swing.ImageIcon; import javax.swing.JButton; impo

  • 使用BootStrap实现用户登录界面UI

    先给大家展示下效果图,如果大家感觉还不错,请继续参考实现思路详解. 布局 1.左右各一半(col-md-6) 2.左侧登录框占左侧一半的10/12 3.右侧是登录系统的注意事项 使用到的HTML元素 well 输入框组(input-group) 按钮(btn-success) HTML代码 <div class="row" style="margin-top:30px;"> <div class="col-md-6" style

  • Java语言中的内存泄露代码详解

    Java的一个重要特性就是通过垃圾收集器(GC)自动管理内存的回收,而不需要程序员自己来释放内存.理论上Java中所有不会再被利用的对象所占用的内存,都可以被GC回收,但是Java也存在内存泄露,但它的表现与C++不同. JAVA中的内存管理 要了解Java中的内存泄露,首先就得知道Java中的内存是如何管理的. 在Java程序中,我们通常使用new为对象分配内存,而这些内存空间都在堆(Heap)上. 下面看一个示例: public class Simple { public static vo

  • Java语言实现Blowfish加密算法完整代码分享

    前几天网上突然出现流言:某东发生数据泄露12G,最终某东在一篇声明中没有否认,还算是勉强承认了吧,这件事对于一般人有什么影响.应该怎么做已经有一堆人说了,所以就不凑热闹了,咱来点对程序猿来说实际点的,说一个个人认为目前比较安全的加密算法:Blowfish. 上代码之前,先说几点Blowfish加密算法的特点: 1. 对称加密,即加密的密钥和解密的密钥是相同的: 2. 每次加密之后的结果是不同的(这也是老夫比较欣赏的一点): 3. 可逆的,和老夫之前的文章介绍的md5等摘要算法不一样,他是可逆的:

  • PHP实现简单用户登录界面

    用PHP实现简单的用户登录界面,供大家参考,具体内容如下 首先要实现用户登录界面需要一个html登录表单 <form action="connet.php" method="POST" > 用户名:<input type = "text" name = "username"/> <br /> 密码:<input type = "password" name=&quo

随机推荐