java图形用户界面设计

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 PasswordV erification 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 PasswordV erification();

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() { //注册事件监听者

相关文档
最新文档