收藏 分享(赏)

java 图形用户界面设计.doc

上传人:HR专家 文档编号:11567214 上传时间:2020-06-28 格式:DOC 页数:9 大小:78.50KB
下载 相关 举报
java 图形用户界面设计.doc_第1页
第1页 / 共9页
java 图形用户界面设计.doc_第2页
第2页 / 共9页
java 图形用户界面设计.doc_第3页
第3页 / 共9页
java 图形用户界面设计.doc_第4页
第4页 / 共9页
java 图形用户界面设计.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、实验名称: 图形用户界面设计 一、 实验目的1掌握常用图形界面组件(按钮、文本框等)对象的创建及其常用方法的使用。如,按钮的常用方法是getLabel(),文本框的常用方法有setText(),getText()等。2掌握常用的布局管理类CardLayou,BorderLayout,FlowLayout,GridLayout的使用策略。能够将它们联合起来使用。3掌握java语言的事件处理。每个事件对应的接口(或适配器类)是什么,每个接口有哪些方法,如何进行委托处理,被委托者必须做什么。二、 实验环境(软件、硬件环境) PC机 JDK包三、 实验原理通过图形用户界面(GUI),用户和程序之间可以

2、方便地进行交互。javax.swing包中的组件类可以帮助我们完整界面的设计。javax.swing包的JComponent类是java.awt包中的Container类的一个直接子类、Component类的间接子类。javax.swing包中的JFrame类和JDialog类分别是java.awt包中Frame类和Dialog类的直接子类、Window类的间接子类。在学习GUI编程时,必须很好地理解并掌握两个概念:容器类和组件类,必须很好地掌握java的事件处理机制。四、 实验内容及步骤实验内容:密码验证问题。编写一个Java程序,实现用户根据自己的密码进入界面,如果用户输入信息正确,则输出

3、“欢迎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.*;pub

4、lic 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/创建用户标签 passw

5、ordLabel=代码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=

6、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(

7、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

8、.*;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();/设置默认布局 userLab

9、el=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(陈三);/假设为正确的用户

10、名 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.ex

11、it(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.setDefaultClose

12、Operation(JFrame.EXIT_ON_CLOSE); 运行结果:思考:(1) 程序PasswordVerification.java中第3行语句java.awt.*的作用是什么?答:添加容器类。(2) 程序actionPerformed()方法中if(e,getSource()=passwordText)的作用是什么?如果去掉该条件判断,程序运行结果会发生什么变化?答:用来判断发起事件的控件是不是passwordText(3) 观察actionPerformed()方法中语句“char passwords=passwordText.getPassword();”的作用是什么?答:是

13、使用char getPassword()方法返回密码框中的密码.(4) 观察程序中定义的main()方法,如果在PasswordVerification pv=new PasswordVerification();语句后,添加语句System.exit()会出现什么问题?为什么?答:程序打开后就会自动关闭。因为在创建PasswordVerification对象之后就触发的system.exit().(5) 从给定程序的运行结果看,密码输入的回显字符是“*”,如果把回显字符换成“#”,该如何处理?答:密码框课用setEchoChar(#)来改变回显符为#。添加语句passwordText.set

14、EchoChar(“#”)(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;/统计输入信息的次数 p

15、ublic 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.addA

16、ctionListener(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(userNa

17、me)&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(pa

18、sswordLabel); 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在上机编写程序时,不仅要调试出来结果,更重要的是要把算法彻底搞清楚。2那些触发事件的组件要增加监听器,监听器是一个对象,该对象所在的类要实现事件接口。按钮可用一个Button的数组来表示

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报