接口、抽象类、监听器

    类可以分为三种:普通类、接口、抽象类。三者之间的主要区别在于,普通类中的方法必须都是普通方法,不能有抽象方法;接口中的方法只能是抽象方法,并且接口的访问权限必须都是public,属性必须都是常量;抽象类是介于普通类和抽象类之间的,故其既能有普通方法也能有抽象方法。
    抽象方法就是指只有方法名而没有方法体去实现的方法。
    接口的定义格式: public  interface 文件名{}   作用:被普通类继承
    普通类实现接口时所用的关键字:implements ,普通类实现接口时必须实现接口中所有的抽象方法。
    抽象类的定义格式: public abstract class 文件名{}   作用:过度
    有关监听器的使用见下方代码。




import javax.swing.*;
public class JFrameTest {
public static void main(String args[]){
JFrameTest jf = new JFrameTest();
jf.show();
}

public void show(){
     //创建窗体对象
         JFrame jf = new JFrame("QQ2013");
//设置窗体的布局管理
java.awt.FlowLayout fl = new java.awt.FlowLayout();
jf.setLayout(fl);
//设置窗体大小不能改变
jf.setResizable(false);
    //设置窗体大小
jf.setSize(200,250);
   
   
   
    //设置标签1
JLabel la_name = new JLabel("用户名:");
    //将用户名对象添加到窗体上
jf.add(la_name);

    //设置用户名标签的长度
JTextField jta = new JTextField(10);
jf.add(jta);
    
   
   
  //设置标签2
  JLabel la_name2 = new JLabel("密码:");
    //将对象添加到窗体上
  jf.add(la_name2);
   
    //设置密码标签的长度
  JPasswordField jta2 = new JPasswordField(10);
  jf.add(jta2);
   
   
    //创建按钮对象
    JButton login = new JButton("登陆");
    //添加按钮对象到窗体上
    jf.add(login);
    //创建名字
    login.setActionCommand("login");
   
    //创建按钮对象
    JButton regist = new JButton("注册");
    //添加按钮对象到窗体上
    jf.add(regist);
    //创建名字
    regist.setActionCommand("regist");
   
    //创建一个监听器
    LoginListener lis = new  LoginListener(jta,jta2,jf);
    //将监听器添加到按钮上
    login.addActionListener(lis);
    regist.addActionListener(lis);
 
   
    //设置窗体关闭时程序退出
    jf.setDefaultCloseOperation(3);
    //设置窗体可见
    jf.setVisible(true);
}
}






import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JFrame;
import javax.swing.JPasswordField;
import javax.swing.JTextField;


public class LoginListener implements ActionListener{
JTextField jta;
JPasswordField jta2;
JFrame jf ;
//重载构造函数
public LoginListener(JTextField jta,JPasswordField jta2,JFrame jf){
this.jta = jta;
this.jta2 = jta2;
this.jf = jf;
}

@Override
public void actionPerformed(ActionEvent arg0){
/**
* 得到按钮的名字
*/
String s = arg0.getActionCommand();
//System.out.println(s);

String user = jta.getText();
@SuppressWarnings("deprecation")
String num = jta2.getText();


/**
  * 判断点击的是那个按钮
  */
if("login".equals(s)) {
/**
* 如果点击的是登录按钮,先判断用户名和密码是否正确
*/
if("aaa".equals(user ) && "123456".equals(num)){
System.out.println("登录成功!");
//出现一个新的窗体
JFrame jf1 = new JFrame("画板");
//设置窗体大小不能改变
jf1.setResizable(false);
//设置窗体大小
jf1.setSize(250,250);
jf1.setVisible(true);

//让第一个窗体消失
jf.dispose();
}
else
javax.swing.JOptionPane.showConfirmDialog(null, "登陆失败!");
}
/**
* 当点击的不是“登录”而是“注册”时
*/
else {
//出现一个新的窗体
JFrame jf1 = new JFrame("注册");
//设置窗体大小不能改变
jf1.setResizable(false);
//设置窗体大小
jf1.setSize(500,500);

jf1.setVisible(true);
}
}

}






猜你喜欢

转载自939647516.iteye.com/blog/1833671