`
NX
  • 浏览: 12463 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论
  • smartan: 话说这就是所谓的以时间换空间吧
    队列
  • NX: 是的,真心感谢各位提出的意见和建议,我也在修改代码,主要是在怎 ...
    队列
  • xchd: 队列不是先进先出吗?好像没有体现这点。
    队列
  • kidding87: 你这里应该和jdk学习下,动态的容量,怎么去扩容,你这里效率非 ...
    队列

接口、抽象类、监听器

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

}






0
5
分享到:
评论

相关推荐

    接口,内部类,抽象类概念和区别

    在编程世界中,接口、内部类和抽象类是面向对象设计中的重要概念,它们各自扮演着不同的角色,帮助我们构建可扩展和灵活的代码结构。接下来,我们将详细探讨这三个概念及其区别。 首先,我们来理解**接口...

    抽象类和接口

    - 接口还可以用于定义回调机制,例如事件监听器。 #### 抽象类与接口的区别 1. **继承性**: - 抽象类:一个类只能继承一个抽象类。 - 接口:一个类可以实现多个接口。 2. **成员变量**: - 抽象类:可以有...

    Java笔记抽象类和接口

    - 接口通常用于定义标准或协议,比如事件监听器等。 ##### 3.3 代码示例 ```java interface Sayable { void say(); } class Dog implements Sayable { @Override public void say() { System.out.println(...

    JAVA抽象类和接口讲义PPT教案学习.pptx

    Java中的抽象类和接口是面向对象编程中的两个关键概念,它们用于实现代码的复用和扩展,同时也为类提供了一种规范化的结构。在Java中,抽象类是一种不能被实例化的类,它用来定义共同的属性和行为,供其子类继承。而...

    2022年抽象类和接口2.ppt

    **处理GUI事件** 在Java的图形用户界面编程中,需要处理各种用户交互事件,这通常通过实现监听器接口(如 `ActionListener`)并添加到组件上完成。 总之,抽象类和接口是Java中实现抽象和多态的核心机制,它们在...

    javaEE监听器

    3. **实现事件处理方法**:在监听器类中,你需要实现接口中定义的抽象方法,如contextInitialized和contextDestroyed,分别处理应用程序启动和关闭的事件。 4. **测试与调试**:最后,通过运行应用程序,你可以观察...

    Java 接口 内部类

    这种设计模式常用于事件监听器或者需要对接口功能进行扩展的场景。 例如,假设我们有一个`MusicPlayer`接口,它定义了一些播放音乐的方法,如`play()`和`pause()`。在接口内部,我们可以定义一个内部类`...

    JAVA 教学 PPt(接口,类和对象尤其详尽)

    Java中的接口是一种完全抽象的类型,它定义了一组方法的签名,但不包含任何实现。接口用于规范类的行为,让类之间通过接口进行通信,实现了多态性。通过实现接口,一个类可以声明自己符合接口定义的行为标准。在...

    spring监听器共20页.pdf.zip

    在Spring中,监听器是通过实现特定接口或者继承抽象类来定义的,这些接口包括ApplicationContextAware、ApplicationListener等。本资料"spring监听器共20页.pdf.zip"可能详细阐述了Spring监听器的概念、工作原理以及...

    Java接口和内部类教程

    接口是一种特殊类型的抽象类,只能包含常量和抽象方法。在Java中,一个类可以通过实现一个或多个接口来表明它将提供该接口所定义的所有行为。接口中的方法默认是`public`和`abstract`的,这意味着它们必须被实现类...

    类的设计--接口

    5. **事件处理**:在事件驱动编程中,接口常用来定义事件监听器,允许不同的类响应同一类型的事件。 6. **静态接口方法**:Java 8引入了静态接口方法,允许接口包含静态成员,进一步增强了接口的功能。 7. **默认...

    java类的高级特性PPT教案学习.pptx

    Java 类的高级特性主要包括抽象类和接口,它们是面向对象编程中的重要概念,用于实现多态性和代码的灵活性。在Java中,抽象类和接口都允许我们定义一组方法,但它们有着不同的用法和限制。 **抽象类**是包含至少一...

    spring的监听器和缓存.docx

    基于注解的监听器实现更加简洁,我们可以通过在监听器类上使用`@WebListener`和`@Component`注解,比如`LoginListener`类实现了`ServletRequestListener`接口。这样,我们只需要在启动类上添加`@...

    Java接口教程

    - 定义事件监听器,如`ActionListener`、`MouseListener`等。 - 实现不同组件之间的通信,比如在设计模式中的`Observer`或`Command`模式。 - 在分布式系统中,作为服务的定义,例如在Spring框架中的远程调用。 ...

    接口(Interface)样例

    在某些场景下,我们可能会直接在需要使用接口的地方创建一个匿名内部类来实现接口,这种方式通常用于简洁的代码实现,比如事件监听器。 9. **接口与Lambda表达式**: Java 8引入的Lambda表达式可以更简洁地实现单...

    Java基础复习题.docx

    Java 基础复习题涵盖了多个关键概念,包括对象实例化、类的 static 方法、抽象类、接口、事件处理模型等。以下是对这些知识点的详细解释: 1. 对象实例化:不同对象的实例变量分配的内存空间地址通常不同,这是因为...

    JAVA入门编辑器(读写文件两接口一类实现)

    6. **事件通知**:接口在这里的作用可能是作为事件监听器接口,允许外部代码订阅并响应特定的事件,如文件读写完成。在Java中,事件驱动编程常用于GUI应用程序,但也可以用在任何需要通知的地方。 7. **类实现**:...

    spring 监听器浅析.docx

    在源码层面,Spring的`ApplicationContext`抽象类是事件发布的核心。它实现了`ApplicationEventPublisher`接口,该接口定义了`publishEvent`方法,用于广播事件。在`publishEvent`内部,Spring会遍历所有已注册的`...

    实验项目C、面向抽象和面向接口编程

    8. **匿名类**:使用匿名类简化代码,特别是在处理事件监听器等场景。 9. **函数式接口和lambda表达式**(选做):了解Java 8中引入的函数式接口和lambda表达式的概念及其应用。 #### 三、实验结论和思考 本实验以...

Global site tag (gtag.js) - Google Analytics