返回本章节

返回作业目录


需求说明:

使用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() {@Overridepublic 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. 编写Java程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。

    编写Java程序,在屏幕上显示带标题的窗口,并添加一个按钮.当用户单击按钮时,结束程序. package p3;import java.awt.event.ActionEvent; import ja ...

  3. 银联银行卡卡号java_编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类...

    编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类 编写Java程序,使用单例模式,创建可以生成银联借记卡号的工具类,银联借记卡号是一个 19 位的数字,卡号以"62" ...

  4. 编写运行最简单的java程序——使用记事本编写java程序

    编写运行最简单的java程序--使用记事本编写java程序 第一个java程序--使用记事本编辑 经过上篇文章的java环境搭建成功的小伙伴们可以在自己的计算机上编写属于自己的java程序了yo~ 还 ...

  5. java shape 空间操作类_设计三个类:几何形状类(Shape)、圆类(Circle)、矩形类(.,请编写 Java程序,设计一个“形状rdquo...

    问题标题 设计三个类:几何形状类(Shape).圆类(Circle).矩形类(.,请编写 Java程序,设计一个"形状&rdquo 2019-5-10来自ip:17.175.174. ...

  6. 使用eclipse编写JAVA程序

    使用eclipse编写JAVA程序 一.Eclipse(集成开发环境IDE) **1.创建java项目 ** 2.创建程序包 3.编写JAVA源程序 4.运行程序 注:IDE自动完成了将.java源文 ...

  7. 多态部分作业 1.按要求编写Java程序:(1)编写一个接口:InterfaceA,只含有一个方法int method(int n);

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

  8. [基础题]8.(*)按如下要求编写Java程序:(1)定义一个交通工具收费接口Charge

    /*8.(*)按如下要求编写Java程序: (1)定义一个交通工具收费接口Charge,该接口包含两个元素:一个收取费用的方法double getFee(intdistance),distance代表 ...

  9. [基础题] 7.第二种(*)按如下要求编写Java程序:

    7.(*)按如下要求编写Java程序: (1)编写接口InterfaceA,接口中含有方法void printCapitalLetter(). (2)编写接口InterfaceB,接口中含有方法voi ...

最新文章

  1. 统计学习方法:朴素贝叶斯
  2. 利用CNN来检测伪造图像
  3. SQLServer之创建分布式事务
  4. [安全防护]StackGuard和StackShield
  5. Merkle Tree(梅克尔树)算法解析
  6. 程序员常犯的五个非技术性错误
  7. Java虚拟机对synchronized的优化
  8. 如何在Outlook中的电子邮件上显示快速操作按钮
  9. oracle数据集成产品,甲骨文推出Oracle数据集成产品
  10. 【AI视野·今日CV 计算机视觉论文速览 第229期】Thu, 1 Jul 2021
  11. python绘制汉字_OpenCV Python 绘制中文字
  12. Cannot add foreign key constraint 错误
  13. 《spring-boot学习》-02-hello world
  14. VS中的多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)的区别(转载)
  15. shell之旅--将目录下的文件重命名为md5码+后缀名
  16. 直接上手!不容错过的 Visual Studio Code 十大扩展组件
  17. ajax成功后没有执行函数,ajax不执行回调函数
  18. OpenStack、CloudStack、Eucalyptus和vCloud Director四大主流云平台怎么选?
  19. 正宗eMule官方网站导航
  20. matlab 仿真光学实验报告,光学信息处理实验的Matlab仿真.doc

热门文章

  1. window.print()打印网页局部内容
  2. JS 删除字符串中所有的数字
  3. 战区与游戏服务器的连线已中断,使命召唤战区无法连接服务器如何解决?无法连接服务器解决方法介绍[多图]...
  4. 三分法解决假币问题(JAVA)
  5. 前端如何单枪匹马实现小程序页面级版本控制
  6. tomcat配置前端静态文件gzip压缩
  7. IE浏览器对象不支持Blob属性或方法,IE浏览器不支持canvas toBlob()方法的Polyfill
  8. Vue keyframe动画不生效
  9. 腾讯企业邮信任此计算机,讲述qq企业邮箱启用微信动态密码的方法
  10. springboot使用flyway