*/
* 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);
}
}

Java登录界面的实现(注册、登录、背景图片)的更多相关文章

  1. 37.qt quick- 高仿微信实现局域网聊天V3版本(添加登录界面、UDP校验登录、皮肤更换、3D旋转)

    1.版本介绍(已上传至群里) 版本说明: 添加登录界面. UDP校验登录. 皮肤更换. 3D旋转(主界面和登录界面之间切换) . 效果图如下所示: 如果效果图加载失败,可以去哔哩哔哩 https:// ...

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

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

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

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

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

    上文<使用 VS2017 和 js 进行桌面程序开发 - electron 之 Hello Word>介绍了如何使用 VS2017 开发 electron 桌面程序,今天来点有看头的,但是 ...

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

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

  6. Java带token验证的注册登录

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

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

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

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

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

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

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

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

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

随机推荐

  1. Django框架的前奏(安装及介绍)

    几个重要的概念: web的本质: 浏览器中输入网址敲回车发生了几件事? 1.浏览器向服务端发送请求 2.服务端接收请求 3.服务端返回相应的响应 4.浏览器接收响应  根据特定的规则渲染页面展示给用户 ...

  2. 【ccf- csp201509-4】高速公路

    #include<iostream> using namespace std; void DFS(int**mat, int *mark,int *sp, int n, int p) { ...

  3. UI自动化(selenium+python)之浏览器驱动chromedriver安装和配置

    一.安装selenium 前提是已安装Python,python安装 自行百度,这里不概述 安装好python后,cmd打开终端窗口-->pip命令安装 :pip install seleniu ...

  4. IE浏览器弹出的文件下载工具条实现自动另存为

    IE浏览器中如果有一个文件可以下载,用鼠标点击一下文件的超链接,会在IE浏览器下方出现一个工具条,工具条上主要有“打开” “保存”两个按钮. 如果点击“保存”按钮,会把附件保存到系统的“下载”或“Do ...

  5. framebuffer 知识点

    设备文件是在/dev/目录下设备文件有主设备号,次设备号.当操作设备文件, 系统会根据设备文件的设备号找到相应的设备驱动(驱动在内核注册时已指定使用的设备号),并调用相应的功能.  open ---& ...

  6. Work Scheduling(带反悔的贪心)

    https://www.luogu.org/problem/P2949 题目描述 Farmer John has so very many jobs to do! In order to run th ...

  7. 实验报告8 AC+Fit AP组网通过三层网络注册(DHCP Option 43)

    实验报告8 课程名称 无线网络与安全技术 实验名称 AC+Fit AP组网通过三层网络注册(DHCP Option 43) 姓名 学号 班级 实 验 目 的   [实验目的] 了解AC+Fit AP跨 ...

  8. 49),PHP, 重写

  9. Apsara Clouder专项技能认证:实现调用API接口

    一.API 简介 1.API 的概念 API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访 ...

  10. 奇点云COO刘莹应邀出席《APEC SME大数据与人工智能论坛》

    10月24日-25日,由亚太经合组织(APEC).韩国中小型及初创企业管理局(the Ministry of SMEs & Startups of Korea)主办的「APEC SME 大数据 ...