您的位置:首页 > 编程语言 > Java开发

Java中接口的实现与简单登陆界面的设计

2010-09-04 14:27 791 查看
先介绍一下接口的大体意思:

我感觉接口是一种特殊的类,但是本身没有具体的含义,就像是多边形,只有当说明了几条边之后,才能具有实际的意义。

下面显示一个代码例子:

//先定义一个接口类—人类

package Basic.begin.lesson6;

public interface human {
public void eat();
public void sleep(int hour);

}

//在具体到人类当中的男人,不过这个还是不够形象,最好是男人XXX

package Basic.begin.lesson6;

public class man implements human{
public void eat(){
System.out.print("我是男人我会吃饭");
}
public void sleep(int hour){
System.out.print("我得睡"+hour);
}

//最后用主函数演示从接口继承之后的男人对象的使用

}
package Basic.begin.lesson6;

public class factory {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//无转换
man m=new man();
m.eat();
m.sleep(8);
//有转换
System.out.println();
human c=new man();
c.eat();
c.sleep(6);

}

}

//简单界面的设计

//界面设计

package Basic.begin.lesson7;

public class myQQ {

/**
* @param args
*/

public void showQQ(){
//创建窗体
javax.swing.JFrame jf=new javax.swing.JFrame("我的登陆界面");
jf.setSize(350, 150);
//创建布局管理器
java.awt.FlowLayout jl=new java.awt.FlowLayout();
jf.setLayout(jl);
//创建标签
javax.swing.JLabel je=new javax.swing.JLabel("名字");
jf.add(je);
//创建文本输入框
javax.swing.JTextField jt=new javax.swing.JTextField(20);
jf.add(jt);
//确定按钮
javax.swing.JButton ja=new javax.swing.JButton("确定");
jf.add(ja);

//创建标签
javax.swing.JLabel jq=new javax.swing.JLabel("密码");
jf.add(jq);
//创建文本输入框
javax.swing.JTextField jw=new javax.swing.JTextField(20);
jf.add(jw);

//确定按钮
javax.swing.JButton jp=new javax.swing.JButton("取消");
jf.add(jp);
//实现点击按钮事件
LoadListener m=new LoadListener(jt,jw);
//添加按钮的事件监听器功能
ja.addActionListener(m);

//设置可见
jf.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
myQQ my=new myQQ();
my.showQQ();

}

}

//从接口继承来的类

package Basic.begin.lesson7;
//引入类库函数
import java.awt.event.ActionEvent;

public class LoadListener implements java.awt.event.ActionListener{
private javax.swing.JTextField jw;
private javax.swing.JTextField q;
private int count=0;

public LoadListener(javax.swing.JTextField jtf,javax.swing.JTextField m ){
jw=jtf;
q=m;
}

public void actionPerformed(ActionEvent e){
String p=jw.getText();
String a=q.getText();
if(p.equals("2008160230")&& a.equals("2008160230") )
{
javax.swing.JFrame jw=new javax.swing.JFrame("弹出窗口");
jw.setSize(200, 100);
java.awt.FlowLayout jl=new java.awt.FlowLayout();
jw.setLayout(jl);
javax.swing.JLabel je=new javax.swing.JLabel("登录成功");
jw.add(je);
jw.setVisible(true);

}
else
{
javax.swing.JFrame jw=new javax.swing.JFrame("弹出窗口"+count);
jw.setSize(200, 100);
java.awt.FlowLayout jl=new java.awt.FlowLayout();
jw.setLayout(jl);
javax.swing.JLabel je=new javax.swing.JLabel("用户名或密码错误");
jw.add(je);
jw.setVisible(true);
count ++;
}

}

}

分析:这里不强调代码,主要说一下设计流程当做一个登陆界面的时候。

1.先添加根基-窗体,对窗体命名

2.调节窗体的大小与可见性

3.在添加窗口布局管理器,并添加到窗体上

4.添加相应的标签(JLable),文本框(JTextFieled),按钮等,并分别添加到窗体上

//这里窗体的做完了,接下来是按钮的响应事件,所以问题的入口也在这

1.通过添加按钮(JBuuton)的事件监听器,实现点击按钮的功能,但根据其方法addActionListener("这里面需要传递个对象"),但是通过找这个对象的定义发现,这是个接口,这样我们就需要根据接口定义响应的类,通过这个类的对象充当方法addActionListener()的参数

这样问题就集中在继承借口的函数上了,通过这个函数实现的功能就是单击按钮所实现的功能了。

2.要是判断文本框中的值是否和预想输入的值一样,这样就需要将文本框的值获取在进行比对,但是将文本框的值输入时不对的,必须将文本框整体拿过来,这样就需通过在函数种创建构造函数,参数为文本框的类类型,这样就可以顺利的将前面定义的文本框传进来了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: