java图形用户界面设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验名称:图形用户界面设计
一、实验目的
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.java
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 =代码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(count>3)
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() { //注册事件监听者