返回本章节

返回作业目录


需求说明:

使用Swing事件处理机制实现用户登录和英雄信息显示

实现思路:

创建LoginView类,该类用于显示登录界面,为登录按钮添加ActionListener事件,监听鼠标的左键单击事件。该事件对应的处理方法中,接收用户输入的账号和密码,如果用户输入的账号和密码为空,使用JOptionPane对话框显示友好提示。

当用户输入的账号或密码不正确,系统使用JOptionPane对话框给出友好提示信息,如果用户输入的账号密码正确,调用创建HeroListView类的无参构造器,即可显示英雄信息列表,并将登录界面隐藏。

创建HeroListView类,该类用于显示英雄信息列表,将数据显示在JTable中。

实现代码:

LoginView类:

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField; public class LoginView extends JFrame {
public LoginView() {
this.setTitle("用户登录");
this.setBounds(0, 0, 500, 350);
this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
this.setResizable(false);//让窗口大小不可改变
this.setLayout(null); JLabel userText = new JLabel("账号:");
userText.setBounds(90, 70, 80, 25);
JLabel pwdText = new JLabel("密码:");
pwdText.setBounds(90, 140, 80, 25);
JTextField userId = new JTextField();
userId.setBounds(160, 70, 220, 30);
JPasswordField userPsd = new JPasswordField();
userPsd.setBounds(160, 140, 220, 30);
JButton DL = new JButton("登录");
DL.setBounds(160, 200, 80, 35);
JButton ZC = new JButton("注册");
ZC.setBounds(285, 200, 80, 35); this.add(userText);
this.add(pwdText);
this.add(userId);
this.add(userPsd);
this.add(DL);
this.add(ZC); //为DL添加鼠标被单击事件
DL.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String id = userId.getText();
String pwd = userPsd.getText();
if("".equals(id)||"".equals(pwd)) {
JOptionPane.showMessageDialog(null, "用户名或密码不能为空!");
}else if ("123".equals(id)&&"123".equals(pwd)) {
JOptionPane.showMessageDialog(null, "登录成功!欢迎使用!");
HeroListView hv = new HeroListView();
hv.setVisible(true);
setVisible(false);
}else {
JOptionPane.showMessageDialog(null, "账户名或密码错误,请检查!");
}
}
});
}
}

HeroListView类:

import java.awt.BorderLayout;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants; public class HeroListView extends JFrame {
public HeroListView() {
this.setTitle("英雄信息列表");
this.setBounds(0, 0, 500, 350);
this.setLocationRelativeTo(null);//让窗口在屏幕中间显示
this.setResizable(false);//让窗口大小不可改变
this.setLayout(null);
this.setVisible(true);
BorderLayout bl=new BorderLayout();
this.setLayout(bl);
//定义表格的表头信息
String[] heads={"姓名","年龄","电话"};
//定义表格中显示的信息
Object[][] data={
{"丘处机","33","13870943994"},{"徐世绩","28","18062795496"},
{"杜如晦","29","18600158798"},{"方孟傲","35","13836188388"},
{"杜小月","19","15248779908"},{"余国荔","25","13238112922"},
{"罗士信","29","15927271222"},{"林徽因","34","15108235082"},
{"陈永华","39","13296693349"},{"萧漩语","34","15847006955"}};
//创建JTable对象
JTable jTable = new JTable(data,heads);
int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED;
int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED;
//创建滚动条面板对象,将JTable加入滚动条中,显示横向和垂直滚动条
JScrollPane jsp=new JScrollPane(jTable,v,h);
//将滚动面板添加至JFrame中
this.add(jsp);
this.setSize(450, 200);
this.setVisible(true);
}
}

Test类:

public class Test {
public static void main(String[] args) {
LoginView login = new LoginView();
login.setVisible(true);
}
}

编写Java程序,使用Swing事件处理机制实现用户登录和英雄信息显示的更多相关文章

  1. 编写Java程序,使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的场景(用户充当客户端,QQ 小冰充当服务端)

    查看本章节 查看作业目录 需求说明: 小冰是微软公司研发的人工智能机器人,被腾讯公司加入 QQ 群后,立即受到千万网友的喜爱.现在使用 Socket类模拟用户加入 QQ 群时,QQ 小冰发送欢迎消息的 ...

  2. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  3. 初学编写JAVA程序

    一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...

  4. Java初学者作业——使用记事本编写Java程序

    返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...

  5. Java初学者作业——编写Java程序,实现用户登录验证。

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...

  6. Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。

    返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...

  7. Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。

    返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...

  8. Java初学者作业——编写Java程序,实现判断所输入字符的类型(数字、小写字母、大写字母或其他字符)

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现判断所输入字符的类型(数字.小写字母.大写字母或其他字符) 实现思路: 声明变量c,用于存储用户输入的字符. 通过Scanner接收用户输入 ...

  9. Java初学者作业——编写Java程序, 实现根据用户购买商品总金额, 计算实际支付的金额及所获得的购物券金额。

    返回本章节 返回作业目录 需求说明: 编写Java程序, 实现根据用户购买商品总金额, 计算实际支付的金额及所获得的购物券金额. 购买总金额达到或超过 1000元,按 8折优惠,送 200元的购物券: ...

随机推荐

  1. spring-dm 一个简单的实例

    spring-dm2.0  运行环境,支持JSP页面 运行spring web 项目需要引用包

  2. 【Spring Framework】Spring入门教程(八)Spring的事务管理

    事务是什么? 事务:指单个逻辑操作单元的集合. 在操作数据库时(增删改),如果同时操作多次数据,我们从业务希望,要么全部成功,要么全部失败.这种情况称为事务处理. 例如:A转账给B. 第一步,扣除A君 ...

  3. Spring Boot事务支持

    一.创建项目 二.添加依赖 <dependencies> <dependency> <groupId>org.projectlombok</groupId&g ...

  4. CDN服务的含义

    CDN的全称是Content Delivery Network,即内容分发网络.CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全 ...

  5. grep命令输出显示高亮字

    grep命令执行后,终端上输出显示颜色可以加"--color=auto"的参数. 另外的两个办法是: 1.设置环境变量: export GREP_OPTIONS="--c ...

  6. MVC+Servlet+mysql+jsp读取数据库信息

    首先有以下几个包: 1.controller 控制层,对用户的请求进行响应 2.dao 数据层接口标准 3.daoimpl 数据层实现层 4.model 实体类层 5.service 业务层接口标准 ...

  7. 【C/C++】最长公共子序列(LCS)/动态规划

    晴神这个的最巧妙之处,在于用dp[i][0] = dp[0][j] = 0的边界条件 这样从1的下标开始填数组的时候,递推公式dp[i-1][j-1]之类的不会报错 #include <iost ...

  8. Java后端高频知识点学习笔记1---Java基础

    Java后端高频知识点学习笔记1---Java基础 参考地址:牛_客_网 https://www.nowcoder.com/discuss/819297 1.重载和重写的区别 重载:同一类中多个同名方 ...

  9. 其他(Excel函数集团)

    此处文章均为本妖原创,供下载.学习.探讨! 文章下载源是Office365国内版1Driver,如有链接问题请联系我. 请勿用于商业!谢谢 下载地址:https://officecommunity-m ...

  10. 小迪安全 Web安全 基础入门 第七天 - 资产泄漏、CMS识别、Git监控、SVN、DS_Store、备份

    一.CMS指纹识别源码获取方式 1.网站特有文件.如/templets/default/style/dedecms.css-dedecms. 2.网站独有文件的MD5.如favicon.ico但是该文 ...