java 界面登录界面_Java登录界面的实现(注册、登录、背景图片)

*/

* Copyright (c) 2016,烟台大学计算机与控制工程学院

* All rights reserved.

* 文件名:text.java

* 作者:常轩

* 微信公众号:Worldhello

* 完成日期:2016年12月27日

* 版本号:V1.0

* 程序输入:无

* 程序输出:见运行结果

*/

/*功能描述:

登录界面有插入了背景图片

实现了登录界面GUI,可以进行 账号注册,和账号登录,对注册的账号用文件进行存储

*/

package com.xuan.main;

//登录界面

import java.awt.Container;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.io.Writer;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

import javax.swing.UIManager;

import javax.swing.UnsupportedLookAndFeelException;

public class denglu extends JFrame {

//设置一个含有背景图片的面板

private MyPanel panel;

private JLabel lab_zhanghao = new JLabel("账号:");

private JTextField jta_text = new JTextField();

Font lab = new Font("楷体",1,30);

private JLabel lat_password = new JLabel("密码:");

Font lat = new Font("楷体",1,30);

private JPasswordField jtb_text = new JPasswordField();

private JButton btn_register = new JButton("注册");

private JButton btn_land = new JButton("登陆");

Font btn = new Font("黑体",2,30);

public static int pd = 0;

public static String ak1, ak2;

private Container contentPane = this.getContentPane();

public denglu () {

this.setSize(400,267);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setLocationRelativeTo(null);

this.setTitle("登陆");

this.setResizable(false);

btn_register.addActionListener(new ActionListener() {

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e) {

pd = 1;

ak1 = jta_text .getText();

ak2 = jtb_text .getText();

String fileName = "users.dat";

try {

FileWriter writer = new FileWriter(fileName,true);

BufferedWriter outWriter=new BufferedWriter(writer);

outWriter.write("ID:"+ak1+"&&"+"Password:"+ak2);

outWriter.newLine();

outWriter.close();

writer.close();

} catch (IOException e1) {

e1.printStackTrace();

}

jta_text.setText("");

jtb_text.setText("");

JOptionPane.showMessageDialog(null,"注册成功! 您的用户名是:"+ak1+"密码是:"+ ak2);

}

});

btn_land.addActionListener(new ActionListener() {

@SuppressWarnings("deprecation")

public void actionPerformed(ActionEvent e) {

if(pd==1||pd==0) {

File fileName=new File("users.dat");

try{

FileReader inOne=new FileReader(fileName);

BufferedReader inTwo=new BufferedReader(inOne);

String s=null;

int judge=1;

while((s=inTwo.readLine())!=null)

{

StringBuilder stringBuilder = new StringBuilder();

stringBuilder.append("ID:");

stringBuilder.append(jta_text.getText());

stringBuilder.append("&&");

stringBuilder.append("Password:");

stringBuilder.append(jtb_text.getText());

String ak=stringBuilder.toString();

if(s.equals(ak)) {

JOptionPane.showMessageDialog(null, "登录成功!");

jta_text .setText("");

jtb_text .setText("");

judge=0;

break;

}

}

inTwo.close();

inOne.close();

if(judge==1) {

JOptionPane.showMessageDialog(null,"登陆失败!检查账号密码是否正确或请注册后登录",null,JOptionPane.ERROR_MESSAGE, null);

jta_text .setText("");

jtb_text .setText("");

}

if(judge==0){

new JMFMediaPlayer("JMF媒体播放器"); //在此处new出新的窗口

dispose();

return;

}

}catch(IOException event){

JOptionPane.showMessageDialog(null,"系统错误"+event,null,JOptionPane.ERROR_MESSAGE, null);

}

}

}

});

init();

panel = new MyPanel();

//将所有的组件添加到panel面板中

panel.add(lab_zhanghao);

panel.add(lat_password);

panel.add(jta_text);

panel.add(jtb_text);

panel.add(btn_register);

panel.add(btn_land);

panel.setLayout(null);

getContentPane().add(panel);

}

private void init() {

lab_zhanghao.setSize(200,100);

lab_zhanghao. setLocation(50,20);

lab_zhanghao.setFont(lab);

lat_password.setSize(200,100);

lat_password.setLocation(50,80);

lat_password.setFont(lat);

jta_text.setSize(190,30);

jta_text.setLocation(160,55);

jtb_text.setSize(190,30);

jtb_text.setLocation(160,115);

btn_register.setSize(120, 40);

btn_register.setLocation(60, 180);

btn_land.setSize(120, 40);

btn_land.setLocation(230, 180);

btn_register.setFont(btn);

btn_land.setFont(btn);

}

public static void main(String[] args)

throws ClassNotFoundException,

InstantiationException, IllegalAccessException,

UnsupportedLookAndFeelException {

UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");

new denglu().setVisible(true);

}

}

package com.xuan.main;

//登录界面背景

import java.awt.*;

import javax.swing.*;

//自定义一个面板类

class MyPanel extends JPanel{

public void paintComponent(Graphics g){

super.paintComponent(g);

//绘制一张背景图片 2.jpg是图片的路径 自己设定为自己想要添加的图片

Image image = new ImageIcon("background.jpg").getImage();

g.drawImage(image, 0, 0, this);

}

}

Discuz! X2.5判断会员登录状态及外部调用注册登录框

Discuz! X2.5判断会员登录状态及外部调用注册登录框 有关discuz论坛会员信息,收集的一些资料: 用dedecms+discuz做了个门户加论坛形式的网站,但是dedecms顶部目前只能q ...

一步一步学习IdentityServer4 (3)自定登录界面并实现业务登录操作

IdentityServer4 相对 IdentityServer3 在界面上要简单一些,拷贝demo基本就能搞定,做样式修改就行了 之前的文章已经有登录Idr4服务端操作了,新建了一个自己的站点 L ...

使用 electron 实现类似新版 QQ 的登录界面效果(阴影、背景动画、窗体3D翻转)

上文介绍了如何使用 VS2017 开发 electron 桌面程序,今天来点有看头的,但是 ...

登录界面,body上有背景图,点击输入框时,弹出的手机键盘会把背景图顶变形,而且会把footer顶上去

js: //防止背景图被手机键盘压缩变形 $(document).ready(function () { $('body').css({'height':$(window).height()}) }) ...

Java带token验证的注册登录

http://blog.csdn.net/huqingpeng321/article/details/52900550 http://blog.csdn.net/l18710006370/articl ...

Ubuntu登录界面添加root用户登录选项

1.普通用户登录系统并打开终端 配置root密码 $sudo passwd 切换至root用户 $su root 输入密码 修改以下配置文件 $nano /usr/share/lightdm/ligh ...

Centos启动时停止在登录界面但不显示登录信息(一直在转圈)

进入单用户模式  执行 iscsiadm -m node -o delete,然后reboot

找回误删除的UBUNTU16.04桌面壁纸图片,或把桌面背景图片另存。20170114

今天遇到一个小问题,之前下载并设置为桌面壁纸的一张图片在整理文件的时候不小心删除了.由于想不起来当时从哪里找到的图,所以就想把当前桌面壁纸重新保存.经网上查询,未见正确的保存方法,故写在此处备忘. 1 ...

Java图形界面开发—简易登录注册小程序

登录注册小代码,将学过的一些小知识融合在一起进行了使用,加深印象.本例中如果有注释不详细的地方,详见其它博客. Java程序操作数据库SQLserver详解 功能介绍:简单的登录注册系统,使用了数据库 ...

Android开发案例 - 注册登录

本文只涉及UI方面的内容, 如果您是希望了解非UI方面的访客, 请跳过此文. 在微博, 微信等App的注册登录过程中有这样的交互场景(如下图): 打开登录界面 在登录界面中, 点击注册, 跳转到注册界 ...

随机推荐

【JAVA多线程安全问题解析】

一.问题的提出 以买票系统为例: class Ticket implements Runnable { public int sum=10; public void run() { while(tru ...

QQ(iOS)客户端的粘性动画效果

qq的app中要是有新的联系人发消息过来,相应联系人的cell右边会有一个红色的圆圈表示消息条数.如果去触碰那个圆圈,可以发现它竟然会跟着手指的移动而移动. 在一定范围内,手指离开屏幕,会发现红色圆圈 ...

SSH搭建完美CURD,含分页算法

今日开始研究使用java平台上的框架解决web服务端的开发. 这是一个完整的SSH实例,在马士兵老师的SSH整合代码基础上,增加用户的增删改查,同时实现structs方式的分页 放出源代码供大家学习参 ...

网站静态化处理—CSI(5)

网站静态化处理—CSI(5) 讲完了SSI,ESI,下面就要讲讲CSI了 ,CSI是浏览器端的动静整合方案,当我文章发表后有朋友就问我,CSI技术是不是就是通过ajax来加载数据啊,我当时的回答只是说 ...

Hibernate 系列教程15-一级缓存

Product public class Product { private Long id; private String name; Product.hbm.xml

Linux下修改系统时区

使用 /etc/localtime 文件修改时区 先查看一下当前的时区,下面这个例子中使用 UTC 即世界统一标准时区.假设你可能需要改为美国西部标准时间,即太平洋时间. # date Thu Aug ...

3301: [USACO2011 Feb] Cow Line

3301: [USACO2011 Feb] Cow Line Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 82  Solved: 49[Submit ...

空间主页播放任意FLV格式视频方法

把文件上传到QQ网络硬盘 打开 硬盘 的 管理 选项 然后它会打开QQ邮箱的文件中转站 找到你要的视频文件 点击下载它 这里建议你使用搜狗浏览器打开网页 来到下载按钮点击下载,在弹出的对话框中选择 ...

spring mvc 返回类型

spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void 小结:1.使用 String 作为请求处理方 ...

你可能感兴趣的:(java,界面登录界面)