类可以分为三种:普通类、接口、抽象类。三者之间的主要区别在于,普通类中的方法必须都是普通方法,不能有抽象方法;接口中的方法只能是抽象方法,并且接口的访问权限必须都是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
今日推荐
周排行