最近在看的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语言登陆界面(菜鸟版)的更多相关文章

  1. 数据结构与抽象 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. ...

  2. java语言导学(5版)--第12章并发之二

    1不可变对象 概念:(immutable)对象创建后,状态不可更改.不可变对象在并发程序中尤其有用,因状态不可变,不会被线程干扰,也不会出现不一致状态. 书中通过实例是可变的类,并从此类衍生出一个不可 ...

  3. Java EE登陆界面生成随机数防止恶意注册或者登录

    package cn.com; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.a ...

  4. 基于Oracle数据库登陆界面及功能实现 Java版

    首先要在Oracle数据库创建表文件,包括建立表头以及关键字(唯一标识符),此次程序所用的表名称为SW_USER_INFO,表头有UNAME.UKEY.USEX等,关键字为UCC,然后添加一条记录,用 ...

  5. 用java写一个用户登陆界面

    一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...

  6. IntelliJ IDEA for Mac(Java 语言开发的集成环境)破解版安装

    1.软件简介    IntelliJ IDEA 是 macOS 系统上一款 java 语言开发的集成环境,IntelliJ 在业界被公认为最好的 java 开发工具之一,尤其在智能代码助手.代码自动提 ...

  7. 菜鸟笔记 -- Chapter 4 Java语言基础

    在Chapter3中我们写了第一个Java程序Hello World,并且对此程序进行了分析和常见错误解析.那么我们有没有认真观察一下Java程序的基本结构呢?本节我就来聊一下Java程序的基本结构( ...

  8. 使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网)

    使用Java语言编写一个五子棋UI界面并实现网络对战功能(非局域网) 一,前期准备 1,Java IDE(Eclipse)与JDK的安装与配置jdk-15.0.1-免配置路径版提取码:earu免安装版 ...

  9. Java 语言实现简易版扫码登录

    基本介绍 相信大家对二维码都不陌生,生活中到处充斥着扫码登录的场景,如登录网页版微信.支付宝等.最近学习了一下扫码登录的原理,感觉蛮有趣的,于是自己实现了一个简易版扫码登录的 Demo,以此记录一下学 ...

随机推荐

  1. canvas学习之粒子动画

    项目地址:http://pan.baidu.com/s/1ccTptc 粒子动画意思就是把一个图片粒子画,然后使用粒子作出动画效果,主要两个问题:一个图片如何粒子化,这里面我们使用canvas的get ...

  2. Confluence 6 创建一个空间

    在 Confluence 中并不限制你可以创建多少空间.你可以选择为你每一个小组,项目都创建一个空间,或者你也可以将这 2 者混合在一起.所有的这些都基于你的需求来决定的. 每一个 Confluenc ...

  3. PHP单例模式实例,连接数据库对类的引用

    <?php//单例模式连接数据库class pzhang{ static private $instance; private static $config; private $dbase = ...

  4. MyBatis动态传入表名

    mybatis里#{}与${}的用法: 在动态sql解析过程,#{}与${}的效果是不一样的: #{ } 解析为一个 JDBC 预编译语句(prepared statement)的参数标记符. 如以下 ...

  5. visual studio利用 indent guides 格式化代码 添加竖线

    点击 Visual Studio 2013 工具—扩展和更新—联机 然后输入indent guides 自动搜索出来这个插件(如图).注:Visual Studio 2010需要自己在网上下载安装. ...

  6. 集成学习二: Boosting

    目录 集成学习二: Boosting 引言 Adaboost Adaboost 算法 前向分步算法 前向分步算法 Boosting Tree 回归树 提升回归树 Gradient Boosting 参 ...

  7. Activiti手动执行的应用(UserTask)

    工作流模拟某公司请假流程情景如下:   1.开发人员请假流程,如果开发人员请假,如果请假天数小于3天,组长批准,人事批准即可请假.   2.如果请假大约三天,需要项目经理或者产品经理批准,并且项目总监 ...

  8. 在MongoDB中执行查询、创建索引

    1. MongoDB中数据查询的方法 (1)find函数的使用: (2)条件操作符: (3)distinct找出给定键所有不同的值: (4)group分组: (5)游标: (6)存储过程. 文档查找 ...

  9. Python---字典常用方法总结

    字典是一种key-value的数据类型,字典里必须写Key和value,字典的优点是取数方便和速度快.字典的特性: 1.字典是无序的,因为它没有下标,用key来当索引,所以是无序的 2.字典的key必 ...

  10. 十四、MVC的WEB框架(Structs2)

    一.Structs2中的Session 1.一个是传统的servlet包下的HttpSession,一个是Structs2中自己定义的Session Servlet下的Session获取方法:Serv ...