服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用awt组件实现登录对话框


  作者:javazealot

/*本程序是模拟的中文java技术网的登录窗口,用awt组件实现的,不过还有一些需要完善的地方,所以我希望能得到各位java爱好者的建议*/

import java.awt.*;
import java.awt.event.*;
import java.applet.applet;

//对话框创建

class okcanceldialog extends dialog implements actionlistener
{
panel p;
label top,name,password;
textfield inputname,inputpassword;
button ok,cancel;
string data;
okcanceldialog(frame hostframe,string title,boolean dmodal)
{
super(hostframe,title,dmodal);
p=new panel();
p.setlayout(new flowlayout());
setsize(300,200);
setlayout(new gridbaglayout());//用网格包装布局为放置组件
gridbagconstraints gbb=new gridbagconstraints();
top=new label("登 录 窗 口 ");
gbb.gridx=1;
gbb.gridy=0;//在第一行显示top标签
add(top,gbb);

name=new label("会员名:");
gbb.gridx=gridbagconstraints.relative;
gbb.gridy=1;//在第二行显示会员名标签和相应文本框
add(name,gbb);
inputname=new textfield(20);
add(inputname,gbb);

password=new label("密码:");
gbb.gridx=gridbagconstraints.relative;
gbb.gridy=2;在第二行显示密码标签和相应文本框
add(password,gbb);
inputpassword=new textfield(20);

add(inputpassword,gbb);
inputpassword.setechochar(´*´);

ok=new button("确定");
p.add(ok);
ok.addactionlistener(this);

cancel=new button("放弃");
p.add(cancel);
cancel.addactionlistener(this);
p.add(new label(" "));//将两个按钮和一个含有很多空格的标签加入板(注:标签的 //作用是为了把按钮挤在中间)
gbb.gridx=1;
gbb.gridy=3;//在第四行显示板

add(p,gbb);
data=new string();

addwindowlistener(new windowadapter(){
public void windowclosing(windowevent e){system.exit(0);}});//用以关闭窗 //口

}

public void actionperformed(actionevent event)
{
if(event.getsource()==ok){
data=" 您好,"+inputname.gettext()+",欢迎光临中文java技术网!";
}else if(event.getsource()==cancel){
data=" 你没有输入! ";
}
setvisible(false);
}
}

//窗口创建
class dialogframe extends frame implements actionlistener
{
label firstpage,word;
button enter;
okcanceldialog dialog;
dialogframe(string title)
{
super(title);
setlayout(new gridbaglayout());
gridbagconstraints gbc=new gridbagconstraints();

firstpage=new label("welcome to cn-java net");

enter=new button("会员登录");
gbc.gridy=0;
add(firstpage,gbc);

word=new label(" 您还没有登录 ");
gbc.gridx=gridbagconstraints.relative;
gbc.gridy=1;
add(enter,gbc);

enter.addactionlistener(this);
gbc.gridx=gridbagconstraints.relative;
gbc.gridy=2;//在第三行显示欢迎词
add(word,gbc);
dialog=new okcanceldialog(this,"登录",true);

}

public void actionperformed(actionevent event)
{
if(event.getsource()==enter){
dialog.setvisible(true);
word.settext(dialog.data);
}
} //此方法用来显示对话框
}

//主类
public abstract class mainclass implements actionlistener
{
public static void main(string[] args)
{
dialogframe f=new dialogframe("welcome");//创建窗口实例
f.setsize(300,200);
f.addwindowlistener(new windowadapter(){
public void windowclosing(windowevent e){system.exit(0);}});
f.show();
}
}

附:本程序已通过调试,没有任何错误.

扫描关注微信公众号