摘要:事件对象携带了动作发生时的相关信息,比如通过事件对象获取按钮的字符串,通过字符串判断后执行不同的代码。使用监听器的步骤自己创建一个类使用这个类创建一个对象,用按钮对象的添加监听器方法添加这个对象。
界面开发工具需借助其他工具包,主要有如下两种:
1.java.awt:组件样式老旧,推荐使用颜色、尺寸、字体、布局方式这些元素规则类
2.javax.swing:升级后的开发包
(1)容器:可以去装载其他组件,如窗体;
(2)组件:按钮、输入框、菜单、滑杆等;
(3)内容:文字、图片等
要使用这些包,需要引用,方法如下:
import javax.swing.*; import java.awt.*;
1.创建一个类(LoginUI)
2.在这个类中声明一个初始化界面方法
public static void main(String[] args) { LoginUI loginUI=new LoginUI(); loginUI.showUI(); }
3.在方法中:
(1)创建一个窗体javax.swing.JFramed的对象;
javax.swing.JFrame jf=new javax.swing.JFrame();
(2)设置窗体对象的属性、标题、尺寸、位置、关闭方法、可视化等
jf.setTitle("登录入口");//窗体标题 jf.setSize(600,500);//窗体尺寸 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//点击窗体关闭设置:退出 java.awt.FlowLayout flow=new java.awt.FlowLayout(); jf.setLayout(flow);//窗体组件的排列方式:流式布局
(3)添加组件对象如按钮、输入框、图片、文字
javax.swing.JButton btn=new javax.swing.JButton(); javax.swing.JButton btn1=new javax.swing.JButton();//按钮 javax.swing.JLabel namejla=new javax.swing.JLabel(); javax.swing.JLabel pwdjla=new javax.swing.JLabel();//标签 javax.swing.JTextField namejtf=new javax.swing.JTextField();//文本输入框 javax.swing.JPasswordField pwdjtf=new javax.swing.JPasswordField();//密码输入框 javax.swing.JCheckBox checkBox=new javax.swing.JCheckBox();//复选框 javax.swing.ImageIcon imgicon=new javax.swing.ImageIcon("C://Users" + "//Administrator//Desktop//img.png");//图片 javax.swing.JLabel imgjla=new javax.swing.JLabel();
设置对象的属性
btn.setText("登录"); btn1.setText("注册"); namejla.setText("账号:"); pwdjla.setText("密码:"); imgjla.setIcon(imgicon);//把图片加载到图片的标签组件上 //组件设置尺寸 java.awt.Dimension jtfsize=new java.awt.Dimension();//先创建一个尺寸对象 jtfsize.setSize(510,50);//设置尺寸对象的宽、高 //将尺寸对象设置给输入框 namejtf.setPreferredSize(jtfsize); pwdjtf.setPreferredSize(jtfsize); java.awt.Color color=new java.awt.Color(255,0,0);//设置颜色,使用java.awt.Color btn.setBackground(color);//将颜色对象设给按钮 checkBox.setText("自动登录");
将组件对象加载到窗体上,并使窗体可视化
jf.add(imgjla); jf.add(namejla);jf.add(namejtf); jf.add(pwdjla);jf.add(pwdjtf); jf.add(checkBox);jf.add(btn); jf.add(btn1); jf.setVisible(true);
//给按钮注册监听器 ButtonListener btnlistener=new ButtonListener(); btn.addActionListener(btnlistener); btn1.addActionListener(btnlistener); //用监听器对象调用null的输入框对象名,用界面这里的输入框对象名给它赋值 btnlistener.namejtf=namejtf; btnlistener.pwdjtf=pwdjtf;
使用监听器的目的在于当一个事件源触发一个事件时,会有一个或多个监听器进行监听,并会由监听器执行与之对应的事件。事件对象携带了动作发生时的相关信息,比如通过事件对象获取按钮的字符串,通过字符串判断后执行不同的代码。
使用监听器的步骤:
(1)自己创建一个类;
(2)使用这个类创建一个对象,用按钮对象的添加监听器方法添加这个对象。
//自己创建一个类来实现这个监听器 public class ButtonListener implements ActionListener { //定义一个输入框属性对象名 JTextField namejtf=null; JTextField pwdjtf=null; int count=0; //重写监听器中方法 改分号为大括号 然后在大括号中加上点击按钮之后想要执行的代码 public void actionPerformed(ActionEvent e){ count++; //获取按钮上的字符串 String btnstr=e.getActionCommand(); System.out.print("按钮被点击了"+count+"次");//打印时不换行 System.out.println(" 点击的是:"+btnstr); //判断字符串 .equal() if(btnstr.equals("登录")){ String nametext=namejtf.getText(); String pwdtext= pwdjtf.getText(); //验证账号密码是否正确 if(nametext.equals("admin")&&(pwdtext.equals("123456"))) { System.out.print("账号:"+nametext); System.out.println(" 密码:"+pwdtext); JFrame jf = new JFrame("登录成功!!"); jf.setVisible(true); jf.setSize(600, 500); }else{ System.out.println("登录失败,请输入正确的账号和密码"); } } else if(btnstr.equals("注册")) { System.out.println("执行注册操作,跳转至注册页面"); JFrame jf=new JFrame("注册界面"); jf.setSize(600,500); jf.setVisible(true); } }}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/124703.html
摘要:准备本脚本适用于安卓游戏区,需要真实安卓手机。电脑需安装好安卓驱动,一般豌豆荚或者各种管家可以自动帮你装好。使用命令检验和手机状态已经就绪。 原理 王者荣耀的冒险模式里有个挑战模式,第一次过关可以获得比较多的金币,后面重新挑战还是会获得少量金币,这不算是bug,你不嫌烦手动蛮力也可以刷金币。 推荐关卡:陨落的废都 - 魔女回忆 此关卡使用纯输出英雄20秒左右可以打BOSS,50秒左右可...
摘要:开发流程对于一个项目,最大的问题就是如何拆解为任务,分配到合适的人手里,并在有限的时间内完成它。但是我们把整个项目进行拆解的话,每个星期进行统计分析,就可以对症下药,提高开发效率。 开发流程 对于一个项目,最大的问题就是如何拆解为任务,分配到合适的人手里,并在有限的时间内完成它。 就像做建筑工程一样,其实做IT也是可以量化的,可能有的人砌砖砌得慢一些,有的人快一些。 但是我们把整个项目...
摘要:系统分析员向用户再次确认需求。我在公司进行了在线教育系统的开发,所在的团队有个人,包括项目经理系统分析人员架构师开发人员数据库设计人员前端开发人员测试人员等,软件周期从需求分析概要设计详细设计编码测试软件交付用户验收维护,大概花了个月。 面试时可能问到的公司情况:包括公司的地址,什么时候创建的,公司的规模(小公司、中型公司、大公司),公司的人员(主要讲开发团队,包括项目经理,项目主管,...
阅读 523·2021-11-25 09:44
阅读 2601·2021-11-24 09:39
阅读 2250·2021-11-22 15:29
阅读 3490·2021-11-15 11:37
阅读 3342·2021-09-24 10:36
阅读 2456·2021-09-04 16:41
阅读 927·2021-09-03 10:28
阅读 1749·2019-08-30 15:55