java语言登陆界面(菜鸟版)
最近在看的Java入门书是《Head First Java》,一本很棒的Java书。
老师要求的程序流程图我没有,之前我们的做法是写完代码再画流程图,我想这样的做法是不对的,流程图应该是在写代码之前设计思路的一种体现,我们很多同学都把这个当成了一种负担,急着写代码,觉得实现了某种功能之后作业就完成了,到提交时发现还有流程图,好吧,画吧。这是一种常见的思维方式,我想不出在这种思维方式背后是怎样一种体制的导致。
《Head First Java》这本书叫我们查API,但是我不是一个聪明的学生,我还得一段时间才能看得懂API。
以下是我程序的截图以及源代码。

点击更换是可以实现的。
下面是源代码,自己感觉很乱,也没有注释,并且没有在发博客之前刻意加上注释,我想我应该在以后培养这些好习惯。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Login01 {
private JFrame frame;
private JButton button1,button2,button3;
private int []a=new int[6];
private String b;//,name,keyword,checkID;
public static void main(String[] args)
{
Login01 login=new Login01();
login.go();
}
public void go()
{
frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel1=new JPanel();//账号,验证码
JPanel panel11=new JPanel();//账号
JPanel panel12=new JPanel();//密码
JPanel panel13=new JPanel();//验证码
JPanel panel2=new JPanel();
JPanel panel3=new JPanel();
JLabel lable0=new JLabel("石家庄铁道大学图书管理系统");
Font bigFont =new Font("serif",Font.BOLD,28);
lable0.setFont(bigFont);
create_b();
button1=new JButton(b+"点击更换");
button1.addActionListener(new BListener());
button2=new JButton("登陆");
button2.addActionListener(new LoginListener());
button3=new JButton("注册");
button3.addActionListener(new RegisteListener());
JTextField field1=new JTextField(10);
JTextField field2=new JTextField(10);
JTextField field3=new JTextField(10);
/*name=field1.getText();
keyword=field2.getText();
checkID=field3.getText();*/
//System.out.println(name+keyword+checkID);
//panel3.setBackground(Color.WHITE);
//panel2.setBackground(Color.WHITE);
//System.out.print(b);
panel2.add(lable0);
panel11.add(new JLabel("账号:"));
panel11.add(field1);
panel12.add(new JLabel("密码:"));
panel12.add(field2);
panel13.add(new JLabel("验证码:"));
panel13.add(field3);
panel1.add(panel11);
panel1.add(panel12);
panel1.add(panel13);
panel13.add(button1);
panel1.setLayout(new BoxLayout(panel1,BoxLayout.Y_AXIS));
panel3.add(button2);
panel3.add(button3);
frame.getContentPane().add(BorderLayout.NORTH, panel2);
frame.getContentPane().add(BorderLayout.CENTER, panel1);
frame.getContentPane().add(BorderLayout.SOUTH, panel3);
frame.setSize(600,400);
frame.setVisible(true);
}
class BListener implements ActionListener{
public void actionPerformed(ActionEvent e)
{
create_b();
button1.setText(b+"点击更换");
//frame.repaint();
}
}
class LoginListener implements ActionListener{
public void actionPerformed(ActionEvent e)
{
//待完成
}
}
class RegisteListener implements ActionListener{
public void actionPerformed(ActionEvent e)
{
//待完成
}
}
public void create_b()
{
b="";
for(int i=0;i<6;i++)
{
a[i]=(int)(Math.random()*10);
b+=a[i];
}
}
/*public void ifRight(String theEnter)
{
if(!theEnter.equals(b))
{
//待完成
}
}*/
}
java语言登陆界面(菜鸟版)的更多相关文章
- 数据结构与抽象 Java语言描述 第4版 pdf (内含标签)
数据结构与抽象 Java语言描述 第4版 目录 前言引言组织数据序言设计类P.1封装P.2说明方法P.2.1注释P.2.2前置条件和后置条件P.2.3断言P.3Java接口P.3.1写一个接口P.3. ...
- java语言导学(5版)--第12章并发之二
1不可变对象 概念:(immutable)对象创建后,状态不可更改.不可变对象在并发程序中尤其有用,因状态不可变,不会被线程干扰,也不会出现不一致状态. 书中通过实例是可变的类,并从此类衍生出一个不可 ...
- Java EE登陆界面生成随机数防止恶意注册或者登录
package cn.com; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...
- 基于Oracle数据库登陆界面及功能实现 Java版
首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...
- 用java写一个用户登陆界面
一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...
- IntelliJ IDEA for Mac(Java 语言开发的集成环境)破解版安装
1.软件简介 IntelliJ IDEA 是 macOS 系统上一款 java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 java 开发工具之一,尤其在智能代码助手.代码自动提 ...
- 菜鸟笔记 -- Chapter 4 Java语言基础
在Chapter3中我们写了第一个Java程序Hello World,并且对此程序进行了分析和常见错误解析.那么我们有没有认真观察一下Java程序的基本结构呢?本节我就来聊一下Java程序的基本结构( ...
- 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)
使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...
- Java 语言实现简易版扫码登录
基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...
随机推荐
- 【WPF】Silverlight中的Action与Trigger
最近做的Silverlight项目上用到了大量的拖拽,自动跟随等功能,由于赶时间,加上对Silverlight半生不熟,用的是最简单也是最不好维护的方法.项目忙完了闲下来,想重构一下代码,想起了Tri ...
- c++-pimer-plus-6th-chapter04
Chapter Review 1 a. char actors[30]; b. short betsie[100]; c. float chunk[13]; d. long double dipsea ...
- 20180428 xlVBA自动设置成绩条行高
'自动设置行高 传入工作表Sht 和 每页打印的行数RowsInOnePage Public Sub AutoSetRowHeight(ByVal Sht As Worksheet, Optional ...
- Vmware安装Kali
下载软件 破解版的Vmware14 kali(我的是kali-linux-2018.2-amd64) 配置虚拟机 新建虚拟机,选择自定义 虚拟机硬件兼容性 选择虚拟机硬件兼容性为Workstation ...
- apiCloud 调微信支付,调支付宝支付
data里面的参数信息,需要从后台接口中调取,点击查看微信支付详情,https://docs.apicloud.com/Client-API/Open-SDK/wxPay 首先,需要在config.x ...
- javascript 两张图片切换 三目运算符
<body> <script> function changeImage(){ var s = document.getElementById('myimage'); s.sr ...
- Gifts by the List CodeForces - 681D (思维)
大意: 给定森林, 要求构造一个表, 满足对于每个$x$, 表中第一次出现的$x$的祖先(包括$x$)是$a_x$. 刚开始还想着直接暴力分块优化一下连边, 最后按拓扑序输出... 实际上可以发现$a ...
- 【其他】【navicat】【1】navicat导入txt文件中文乱码问题解决
正文: TXT文件默认编码为ANSI,另存为编码为UTF-8的文本文件即可 备注: 1,一般需要导入的数据都是一张excel表,需要将excel表另存为“文本文件(制表符分隔)(*.txt)”保存类型 ...
- MySQL安装脚本最佳实践
MySQL安装脚本最佳实践 2018年9月19日 17:01 #!/bin/bash export host_ip=192.168.7.206 echo '#1.取master主机ip的后三位 ...
- PAT 1008 Elevator
1008 Elevator (20 分) The highest building in our city has only one elevator. A request list is mad ...