`
lijilin
  • 浏览: 2763 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

接口与事件

jpa 
阅读更多
一.接口
1.接口的定义:
public interface 接口名{}
2.接口与一般类相同,本身也具有数据成员和方法,但数据成员一定要付处置,方法必须是抽象方法。
3.接口可以继承多个接口
  接口中只有一种访问修饰符public
  接口中默认就是常量,所以public static final都可以不写。
  接口也是一种类
  接口不能用来实例化对象。
4.接口的实现:关键字implements
类实现接口的时候,必须要实现接口中所有的抽象方法。
类实现接口后,实际上两者就存在了继承关系(继承的特性都保留下来了)。
.类可以先继承类,然后再去实现接口。

public interface NetJavaShape {
//接口里的数据成员必须初始化,且数据成员均为常量
public final static String compName="蓝杰";
//接口中只有一种访问修饰符public,接口中默认就是常量,所以public static final等
//关键字可以不写  String compName="蓝杰";

//接口里的方法必须全部为抽象方法,用abstract声明(也可以不写)
public void draw(int x1,int y1,int x2,int y2);


}

//编写一个NetJava接口的实现类,接口的实现使用关键字implements
//画圆类的实现
public class Impoval implements NetJavaShape {
//类实现接口时,必须要实现接口的所有方法,否则编译器会报错
//类实现接口后,两者实际上就存在了继承关系
//对接口方法的重写,实现接口中的方法
public void draw(int x1, int y1, int x2, int y2) {
System.out.println("我画的是圆形");
//接口中的定义属性可以作为常量使用
System.out.println("出品人:"+NetJavaShape.compName);

}
public static void main(String [] args) {
NetJavaShape shape=new Impoval();
int x1=10,y1=44;
int x2=41,y2=41;
shape.draw(x1, y1, x2, y2);
}




二.抽象类
抽象类就是介于类和接口之间的一种特殊类。
定义与继承
public abstract class 抽象类名 extends 抽象类或者类 implements 接口,... {
//定义类中所有的属性和方法(普通方法和构造方法)
//定义接口中的常量和抽象方法
//常量
访问修饰符 static final 数据类型 常量名 = 值;//常量名的每一个字母要全部大写
//抽象方法
访问修饰符 abstract 返回值数据类型 方法名(数据类型 参数名,...);

}



三.事件机制
事件机制
事件源
1.只有图形界面类的组件才可以成为事件源对象。
2.你的动作发生在哪一个组件上,那么该组件就是事件源对象。

事件监听器方法
给事件源添加一个事件监听器方法,让事件源捕获到对应的事件操作(动作)。
才能去调用事件处理类的对象。
事件源.addActionListener(事件处理类对象);

事件处理类
最终的处理者。
public class 类名 implements ActionListener {
//实现抽象方法
}
//登录事件的处理类,该类要实现ActionListener接口
public class LoginListener implements ActionListener{

//定义一个用来获取账号的对象
private JComboBox jco=new JComboBox();
//定义一个用来获取密码的对象
private JPasswordField jpa=new JPasswordField();
//定义一个用来获取Login类qq的对象
private Qlogin qq=new Qlogin();
/**
* 构造方法
* jco用来获取账号的对象
* jpa用来获取密码的对象
* qq用来获取Qlogin类的对象qq
*/
public LoginListener(JComboBox jco,JPasswordField jpa,Qlogin qq){
this.jco=jco;
this.jpa=jpa;
this.qq=qq;
}


/**
* 事件处理的方法
* e对象可以用来获取事件源的信息
*/
public void actionPerformed(ActionEvent e) {
System.out.println("你点击了"+e.getActionCommand()+"按钮");
//获取输入的账号,同时将输入的账号强制转换为字符串
String name=(String)jco.getSelectedItem();
//获取输入的密码,同时将输入的密码强制转换为字符串
String psd=new String(jpa.getPassword());

//判断输入的账号和密码是否正确.
if(name.equals("625666526")&&psd.equals("123456")){

//实例化一个简单的画板界面
JFrame jfr=new JFrame();
jfr.setLocation(1050, 100);
jfr.setSize(278,593);
//实例化一个ImageIcon的图标对象
ImageIcon imag5=new ImageIcon("image/278593.png");
//实例化一个标签对象
JLabel jla1=new JLabel(imag5);
jfr.add(jla1);
jfr.setDefaultCloseOperation(3);
jfr.setVisible(true);
}
else{
//输入的密码和账号不正确
//弹出一个提示框
JOptionPane.showMessageDialog(null, "你输入的账号和密码错误,请重新输入!");
}
}
}


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics