已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验名称: 图形用户界面设计 一、 实验目的1掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。2掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。3掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。二、 实验环境(软件、硬件环境) PC机 JDK包三、 实验原理通过图形用户界面(GUI),用户和程序之间可以方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。四、 实验内容及步骤实验内容:密码验证问题。编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出“欢迎XXX用户”,否则用户还可以尝试两次,如果尝试阶段输入信息错误,则输出“请输入正确的信息”,如果尝试失败,用户则退出。调试并编译程序PasswordVerification.java,运行该程序,运行结果如图8-1、图8-2、图8-3和图8-4所示,请将程序中的代码1代码7补充完整。图8-1 运行结果,输入正确信息 图8-2 显示欢迎信息图8-3 运行结果,输入错误信息 图8-4 显示重新输入信息程序清单:/PasswordVerification.javaimport javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordVerification extends JFrame JLabel userLabel; JLabel passwordLabel; JTextField userText; JPasswordField passwordText; int count=1;/统计输入信息的次数 public PasswordVerification() super(请输入信息); Container c =代码1;/得到容器对象container c.setLayout(new FlowLayout();/设置默认布局 userLabel=代码2/创建用户标签 passwordLabel=代码3;/创建密码标签 userText=代码4/创建用户文本输入框 passwordText=代码5/创建密码输入文本框 passwordText. 代码6(new ActionListener() /注册事件监听者 public void actionPerformed(代码7)/事件处理 String userName=new String(陈三);/假设为正确的用户名 String password=new String(12345678);/假设为正确的密码 if(e.getSource()=passwordText) count+; char passwords=passwordText.getPassword(); if(userText.getText().equals(userName)&password.equals(new String(passwords) JOptionPane.showMessageDialog(null,欢迎您:+userName); System.exit(0); else if(count3) System.exit(0); else JOptionPane.showMessageDialog(null,userText.getText()+请输入正确信息); ); c.add(userLabel); c.add(userText); c.add(passwordLabel); c.add(passwordText); setSize(240,100); setVisible(true); public static void main(String args) PasswordVerification pv=new PasswordVerification(); pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 五、 实验数据及处理import javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordVerification extends JFrame JLabel userLabel; JLabel passwordLabel; JTextField userText; JPasswordField passwordText; int count=1;/统计输入信息的次数 public PasswordVerification() super(请输入信息); Container c =getContentPane();/得到容器对象container c.setLayout(new FlowLayout();/设置默认布局 userLabel=new JLabel(用户:);/创建用户标签 passwordLabel=new JLabel(密码:);/创建密码标签 userText=new JTextField(5);/创建用户文本输入框 passwordText=new JPasswordField(5);/创建密码输入文本框 passwordText.addActionListener(new ActionListener() /注册事件监听者 public void actionPerformed( ActionEvent e) /事件处理 String userName=new String(陈三);/假设为正确的用户名 String password=new String(12345678);/假设为正确的密码 if(e.getSource()=passwordText) count+; char passwords=passwordText.getPassword(); if(userText.getText().equals(userName)&password.equals(new String(passwords) JOptionPane.showMessageDialog(null,欢迎您:+userName); System.exit(0); else if(count3) System.exit(0); else JOptionPane.showMessageDialog(null,userText.getText()+请输入正确信息); ); c.add(userLabel); c.add(userText); c.add(passwordLabel); c.add(passwordText); setSize(240,100); setVisible(true); public static void main(String args) PasswordVerification pv=new PasswordVerification(); pv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 运行结果:思考:(1) 程序PasswordVerification.java中第3行语句java.awt.*的作用是什么?答:添加容器类。(2) 程序actionPerformed()方法中if(e,getSource()=passwordText)的作用是什么?如果去掉该条件判断,程序运行结果会发生什么变化?答:用来判断发起事件的控件是不是passwordText(3) 观察actionPerformed()方法中语句“char passwords=passwordText.getPassword();”的作用是什么?答:是使用char getPassword()方法返回密码框中的密码.(4) 观察程序中定义的main()方法,如果在PasswordVerification pv=new PasswordVerification();语句后,添加语句System.exit()会出现什么问题?为什么?答:程序打开后就会自动关闭。因为在创建PasswordVerification对象之后就触发的system.exit().(5) 从给定程序的运行结果看,密码输入的回显字符是“*”,如果把回显字符换成“#”,该如何处理?答:密码框课用setEchoChar(#)来改变回显符为#。添加语句passwordText.setEchoChar(“#”)(6) 如果要求在信息输入错误处理中,一旦输入完密码信息,用户输入框和密码输入框可以清空,请将上述程序修改,使之实现功能。import javax.swing.*;import java.awt.event.*;import java.awt.*;public class PasswordVerification extends JFrame JLabel userLabel; JLabel passwordLabel; JTextField userText; JPasswordField passwordText; int count=1;/统计输入信息的次数 public PasswordVerification() super(请输入信息); Container c =getContentPane();/得到容器对象container c.setLayout(new FlowLayout();/设置默认布局 userLabel=new JLabel(用户:);/创建用户标签 passwordLabel=new JLabel(密码:);/创建密码标签 userText=new JTextField(5);/创建用户文本输入框 passwordText=new JPasswordField(5);/创建密码输入文本框 passwordText.addActionListener(new ActionListener() /注册事件监听者 public void actionPerformed( ActionEvent e) /事件处理 String userName=new String(陈三);/假设为正确的用户名 String password=new String(12345678);/假设为正确的密码 if(e.getSource()=passwordText) count+; char passwords=passwordText.getPassword(); if(userText.getText().equals(userName)&password.equals(new String(passwords) JOptionPane.showMessageDialog(null,欢迎您:+userName); System.exit(0); else if(count3) System.exit(0); else JOptionPane.showMessageDialog(null,userText.getText()+请输入正确信息); userText.setText(); passwordText.setText(); ); c.add(userLabel); c.add(userText); c.add(passwordLabel); c.add(passwordText); setSize(240,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年二零二五年度智能工厂设备安装与装饰一体化服务合同
- 2025年新能源汽车租赁与智能交通网络运营服务合同
- 2025年专业医疗废物焚烧厂运营管理及员工聘用综合合同
- 2025年原创音乐作品版权授权及侵权赔偿合作协议
- 2025年金融行业员工薪酬福利及职业发展规划合同
- 2025年度云计算平台安全防护与合规性审查服务合同
- 2025年数据中心专用中央空调系统研发、定制与集成合同
- 2025年城市公交客运线路智能化改造项目承包合同
- 2025年新能源项目土地租赁开发合作合同范本
- 2025年度IDC数据中心网络安全保障与应急响应服务合同
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 心脏起搏器植入指南
- 我国核电发展前景分析课件
- 义务教育历史新课程标准测试卷试题三(2022版)含答案
- 交通学院校史馆布展文稿
- 水泥稳定碎石基层试验检测技术共课件
- 考研管理类联考初数真题有答案
- (完整版)幼儿识字卡片配图:大全
- PCB常见不良品图片及改善措施汇总
- 建筑幕墙节能工程施工方案
- 版匹兹堡睡眠质量指数问卷附评分标准2
评论
0/150
提交评论