`
Fhappy
  • 浏览: 70248 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java学习总结(事件处理)

阅读更多

  学了事件处理后,我学习了做一个简单的画板程序,该画板简单到只能选择颜色,画直线、矩形、圆形和填充圆。这个程序中我用到了接口,抽象类,使用内部类简化事件处理方式。
1.类实现接口必须重写接口中所有的方法
2.在内部类中可以new 接口名
 如:

btnColor.addActionListener(new ActionListener() {

   public void actionPerformed(ActionEvent e) {
    color = javax.swing.JColorChooser.showDialog(null, "颜色选择器",
      color);
   }
  });

 
 3.对于鼠标的事件监听,使用java.awt.event.MouseAdapter抽象类比鼠标事件监听器接口要好,继承这个抽象类的子类只需要重写我们所需要的方法,避免代码的冗余。
4. java.awt.Graphics不能实例化对象,javax.swing.JFrame类提供了一个getGraphics()方法可以得到java.awt.Graphics对象,Graphics可以理解为"画布"对象,通过调用Graphics对象不同的draw方法并传入鼠标的坐标参数,就可以在JFrame界面上画出相应的图形。

注意:用JFrame对象取得画布对象一定要在界面setVisible(设置可见性)后取得。
以下是只可以画直线的简单程序:

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseWheelListener;
public class SampleDraw {

 private int x1,y1,x2,y2;//记录鼠标两次点击的坐标
 private java.awt.Graphics g;//从界面对象上得到的画布对象
 public static void main(String[] args){
  SampleDraw sd = new SampleDraw();
  sd.showUI();
 }
 //显示主界面
 public void showUI(){
  javax.swing.JFrame jf = new javax.swing.JFrame();
  jf.setTitle("画板");
  jf.setSize(500,300);
  jf.setResizable(false);
  //加上自定义的鼠标事件监听器:鼠标释放是调用方法
  jf.addMouseListener(new java.awt.event.MouseAdapter(){
   //只需要重写需要的方法即可,因为父类不是接口
   //鼠标按下时点的坐标
   public void mousePressed(MouseEvent e){
    //记录第一次点击的x,y,通过事件对象e得到
    x1 = e.getX();
    y1 = e.getY();
   }
   public void mouseReleased(MouseEvent e){
    //记录第二次点击的x,y
    x2 = e.getX();
    y2 = e.getY();
    //现在,两次点的坐标都得到了,在画布上画线,调用画布对象的方法
    g.drawLine(x1,y1,x2,y2);
   }
  });
  jf.setDefaultCloseOperation(3);//关闭时退出程序
  jf.setVisible(true);
  //用JFrame对象取得画布对象时,一定要在界面setVisible(设置可见性)后取得。
  g = jf.getGraphics();
 }
}

 

0
0
分享到:
评论

相关推荐

    JavaGUI事件处理

    ### JavaGUI事件处理详解 #### 一、Java GUI事件处理概览 在Java图形用户界面(GUI)编程中,事件处理...无论是简单的“Clickme”程序,还是复杂的“计算器”项目,事件处理都是其核心组成部分,值得深入学习和实践。

    java学习总结.doc

    以下是对Java学习的详细总结: 一、简介 Java由James Gosling于1995年在Sun Microsystems公司开发,最初设计用于电视顶盒,但后来因其“一次编写,到处运行”(Write Once, Run Anywhere)的理念,迅速被广泛应用在...

    java学习笔记总结.doc

    这篇文档是个人的Java学习笔记总结,旨在帮助0基础的学习者从零开始掌握Java基础知识,并逐步成为专业的Java开发者。以下是笔记中涉及的一些关键知识点: 1. **Java开发环境的设置**: 要开始Java编程,首先需要...

    java 并发学习总结

    本学习总结将深入探讨并发容器、同步容器、同步工具、死锁、异常处理、线程中断、线程池、返回结果以及同步方法等核心概念。 1. **并发容器**:Java提供了一系列的并发容器,如`ConcurrentHashMap`,它在并发环境下...

    java学习总结

    从给定的文件信息中,我们可以提炼出一系列关于Java学习的关键知识点,涵盖了日期处理、GUI设计、集合框架、IO操作、多线程、网络编程以及数据库连接等核心领域。以下是对这些知识点的详细阐述: ### Java日期处理 ...

    java学习路线总结.doc

    Java学习路线是一个逐步深入的过程,尤其对于初学者来说,一个清晰的计划至关重要。以下是对Java学习路线的详细解析: **第一阶段:Java基础** - **Java开发介绍**:理解DOS命令,掌握JVM(Java虚拟机)、JRE(Java...

    java EE 学习总结

    ### Java EE 学习总结 在Java EE的学习过程中,我们主要关注了两个核心知识点:标签库(Tag Libraries)以及Servlet的工作流程。这两个方面是Java EE技术栈中的重要组成部分,对于理解整个Java EE体系架构有着非常...

    java基础学习总结

    ### Java基础学习总结 #### 一、Java基础知识 Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。它具有平台独立性、安全性高、面向对象等特点,适用于开发各种应用程序。 ##### 1. IO流 IO流...

    java事件处理机制Demo

    总结来说,"java事件处理机制Demo"是一个关于如何在Java项目中使用观察者模式和事件处理机制的实例,通过学习和实践这个示例,开发者可以更好地理解和掌握这两项核心技术,从而提升程序的交互性和可维护性。

    java学习经验总结

    Java学习是一条漫长而充满挑战的道路,涉及到众多的领域和技术。在这个过程中,J2SE(Java Standard Edition)是基础,提供了Java语言的核心功能,包括面向对象编程、异常处理、集合框架、多线程等核心概念。J2SE的...

    java程序员总结报告

    【Java程序员年终总结】 作为一名Java程序员,我在2010年的经历让我深刻理解到学习的重要性。从初入职场的新鲜人,到能在公司独立完成项目的开发者,这段历程充满了挑战和成长。2010年,我有幸加入北京联合兴辰公司...

    java 学习要点总结

    Java 学习总结 Unit 1 相关概念: 1. JDK (Java Develop Kit):Java 开发工具包。 2. JRE (Java Runtime Environment):Java 运行环境。 3. J2EE (Java Enterprise Edition):Java 企业版,通常用于网站开发。 4. ...

    java学习小总结——画图板制作(附代码)

    在Java学习过程中,创建一个简单的画图板是一个经典的练习项目,它可以帮助我们深入理解图形用户界面(GUI)的构建和事件处理机制。本篇小结将聚焦于如何使用Java实现一个基本的画图板,同时提供相关的源码分析。 1...

    JAVA基础:深入浅析java语言的事件处理

    接下来,我们需要定义一个监听器接口`PropertyListener`,该接口继承自`java.util.EventListener`并声明一个方法`propertyChanged`用于处理事件: ```java import java.util.EventListener; public interface ...

    JAVA学习历程(基础知识个人总结1,2,3)

    这份"JAVA学习历程(基础知识个人总结1,2,3)"的文档集合,显然是一位热情的学习者在探索JAVA世界时,逐步积累并整理出的心得体会。这些文档可能包含了从入门到进阶的各类关键知识点,旨在帮助读者构建全面的JAVA...

    java学习笔记总结

    这份“java学习笔记总结”涵盖了作者在深入学习Java过程中积累的知识点和实践经验,旨在帮助读者理解和掌握Java的核心概念。 首先,Java的基础部分包括语法、变量、数据类型、运算符和流程控制。Java支持八种基本...

    Java学习总结[C程序员的感悟]

    ### Java学习总结:C程序员的感悟 #### 第一章:Java入门(C与Java的差异) ##### 基本数据类型: Java的数据类型与C语言相比,在命名上有一定区别,例如整型在C中为`int`,而在Java中也为`int`,但Java的数据...

Global site tag (gtag.js) - Google Analytics