热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JAVA第二次作业展示与学习心得

在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来。具体的使用方法和其他得组件并没有什么大的不

在这一次作业中,我学习了复选框,密码框两种新的组件,并通过一个邮箱登录界面将两种组件运用了起来。具体的使用方法和其他得组件并没有什么大的不同。
另外我通过查阅资料使用了一种新的布局方式------网格包布局.网格包布局管理是最复杂和灵活的布局管理,与网格布局管理器不同的是,网格包布局管理器允许容器中各个组件的大小各不相同,还允许组件跨越多个网格,也允许组件之间相互部分重叠。网格包布局理解为网格单元布局更合理,因为一个容器被划分为若干个网格单元,而每个组件放置在一个或多个网格单元中。要注意的是,网格包布局不能指定一个容器的网格单元的大小其网格单元的划分是通过weightx和weighty参数来设置的,但也不是直接指定其网格单元的大小。当把一个组件放置在网格单元中时,组件所占据的位置和大小是由一组与他们相关联的约束来决定的。这些约束是由GridBagConstraints类型的对象来设置的。
程序源代码:
import java.awt.;
import javax.swing.
;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;

public class emailx extends JFrame {
private Checkbox rem_pwd;
private Checkbox not_show;
private Container c;
private ActionEvent e;
private ActionListener myActionLis;
private JButton loginBut;
private JButton exitBut;
private JButton register;
private JLabel label;// 标签
private JLabel label2;
private JLabel no_use;
private JPanel rem_not_show;
private JPanel log_cancel;
private JPasswordField password;// 密码框
private JTextField usernametext;// 文本框
// 按钮
public emailx() {
rem_not_show = new JPanel();//用于装记住密码与隐身的两个对象
log_cancel = new JPanel();//用于装登陆和取消的两个对象
rem_pwd = new Checkbox("记住密码");
not_show = new Checkbox("隐身登陆");
/网格包布局是这种,可以达到效果/
GridBagLayout gblayout = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
setTitle("邮箱登陆界面");
// 窗口的主容器
final Container c = getContentPane();
c.setLayout(gblayout); // 让容器采用空布局
c.setBackground(Color.BLUE);
constraints.weightx = 0;
constraints.weighty = 0;
constraints.gridx = 1;

label = new JLabel("账号:",JLabel.CENTER);gblayout.setConstraints(label, constraints);c.add(label);constraints.gridx = 2;usernametext = new JTextField(10);gblayout.setConstraints(usernametext, constraints);c.add(usernametext);constraints.gridx = 3;register = new JButton("注册");gblayout.setConstraints(register, constraints);c.add(register);constraints.gridx = 1;constraints.gridy = 2;label2 = new JLabel("密码:",JLabel.CENTER);gblayout.setConstraints(label2, constraints);c.add(label2);constraints.gridx = 2;password = new JPasswordField(10);gblayout.setConstraints(password, constraints);c.add(password);constraints.gridx = 2;constraints.gridy = 3;rem_not_show.add(rem_pwd);rem_not_show.add(not_show);rem_not_show.setBackground(c.getBackground());gblayout.setConstraints(rem_not_show, constraints);c.add(rem_not_show);exitBut = new JButton();exitBut.setText("删除");// 设置按钮值loginBut = new JButton("进入"); // 实例化组件log_cancel.add(loginBut);log_cancel.add(exitBut);constraints.gridx = 2;constraints.gridy = 4;gblayout.setConstraints(log_cancel, constraints);log_cancel.setBackground(c.getBackground());c.add(log_cancel);loginBut.setToolTipText("进入请点击该按钮!");// 给按钮注册监听器final myActionLis lis = new myActionLis();loginBut.addActionListener(lis);setSize(400, 300);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(final String[] args) {new emailx();
}class myActionLis implements ActionListener {public void actionPerformed(final ActionEvent e) {// 获取文本框或者密码框的值(内容)final String name = usernametext.getText();final String pwd = password.getText();if (name.equals("") || pwd.equals("")) {// 弹出提示框JOptionPane.showMessageDialog(null, "账号或者密码不能为空!");} else {if (name.equals("123456789@qq.com") && pwd.equals("123456789")) {JOptionPane.showMessageDialog(null, "恭喜您!登录成功!");} else {JOptionPane.showMessageDialog(null, "账号或者密码错误!请重新输入!");}}}}

}
程序运行效果:
902751-20160322164127526-514750447.png
902751-20160322164143620-915452508.png
902751-20160322165252573-673018657.jpg

转:https://www.cnblogs.com/slf520/p/5304269.html



推荐阅读
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • JavaSE笔试题-接口、抽象类、多态等问题解答
    本文解答了JavaSE笔试题中关于接口、抽象类、多态等问题。包括Math类的取整数方法、接口是否可继承、抽象类是否可实现接口、抽象类是否可继承具体类、抽象类中是否可以有静态main方法等问题。同时介绍了面向对象的特征,以及Java中实现多态的机制。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • importjava.util.ArrayList;publicclassPageIndex{privateintpageSize;每页要显示的行privateintpageNum ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
author-avatar
我的爱来了2012_800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有