java绘图监听_java中绘图-----那个鼠标等的监听我还是不太会,,好苦恼啊。不知道这些监听事件是怎么区分的...

本文主要探讨Java中如何使用鼠标监听事件进行图形绘制,通过一个实例展示了在按钮点击后在窗口上画出实心矩形的过程。同时,文章提到了在监听事件中的区分方法,并对双击事件进行了响应,触发重绘操作。

总结::监听到底该怎么用

事件的区分是靠判断还是

package com.a.b; //我想实现,当我点击一个按钮时,这个frame里可以画出实心的矩形

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.Random;

import javax.swing.*;

class Biao extends JFrame {

int x, y;

JButton jb;

public Biao() {

ini();

this.setBackground(Color.red);// 不就

this.setDefaultCloseOperation(3);

this.setSize(500, 500);

// 设置界面

// 看到冒,默认窗体是不显示,但是我没有设置

this.setVisible(true);

jb = new JButton("yes");

// jb.addActionListener(this);

jb.addActionListener(new A());

}

public class A implements ActionListener {

public void actionPerformed(ActionEvent e) {

}

}

Random r = new Random();

public void paint(Graphics g) {

g.setColor(new Color(r.nextInt(255), r.nextInt(255), r.nextInt(255)));

g.drawOval(x, y - 44, 44, 44);// 画一个空心圆

// 这里需要剪个半径,否则圆会默认跑出来

// g.fillRect(x, y, 44, 44);

g.fillOval(x, y, 55, 55);// 画圆

// g.fillOval(x, y, 44, 33);//画个椭圆试试

g.drawLine(x, y, 44, 44);// 画直线

}

public void ini() {

// z

// 实现当我鼠标点击时,会画图 //这是一个匿名的内部类

this.addMouseListener(new MouseListener() {// 这个方法是自动导入的

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseClicked(MouseEvent e) {

if (e.getClickCount() >= 2) {

x = e.getX();

y = e.getY();

repaint();// 重新画图啊

}

}

});

}

}

public class South {

public static void main(String[] args) {

new Biao();

}

}

关于java中自增,自减,和拓展运算符的小讨论

java中运算符很多,但是能深入讨论的不算太多.这里我仅仅以++,*=为例做讨论. 例:++ i=0; i=i++ + ++i;//i=1 i=++i+i++;//i=2 i=i++ -++i;//i ...

关于java中是引用传递还是值传递的问题!!!经常在笔试中遇到,今天终于弄明白了!

关于JAVA中参数传递问题有两种,一种是按值传递(如果是基本类型),另一种是按引用传递(如果是對象).首先以两个例子开始:1)public class Test2 { public static vo ...

C++/Java中继承关系引发的调用关系详解

C++: 这里引用到了 http://blog.csdn.net/haoel/article/details/1948051/ 中的内容,还请提前阅读陈大神的这篇博客后在阅读本篇. 覆盖,实现多态的基 ...

关于java中是引用传递还是值传递的问题

关于JAVA中参数传递问题有两种,一种是按值传递(如果是基本类型),另一种是按引用传递(如果是對象).首先以两个例子开始:1)public class Test2 { public static vo ...

Java中的事件监听机制

鼠标事件监听机制的三个方面: 1.事件源对象: 事件源对象就是能够产生动作的对象.在Java语言中所有的容器组件和元素组件都是事件监听中的事件源对象.Java中根据事件的动作来区分不同的事件源对象,动 ...

java中解决组件重叠的问题(例如鼠标移动组件时)

java中解决组件覆盖的问题!     有时候在移动组件的时候会出现两个组件覆盖的情况,但是你想让被覆盖的组件显示出来或者不被覆盖! 在设计GUI时已经可以定义组件的叠放次序了(按摆放组件的先后顺序) ...

关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用

http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...

java中一些常用的英语

 abstract (关键字  ) 抽象  ['.bstr.kt]  access vt.访问,存取  ['.kses]'(n.入口,使用权)  algorithm n.算法  ['.lg.rie ...

Java中的图形界面编程

前言 正文 Java中的图形界面编程 AWT/Swing AWT(Abstract Window ToolKits,抽象窗体工具集) 1.容器类:用来存储组件,实现容器布局 2.组件类:实现界面的一些 ...

随机推荐

通过IEnumerable和IDisposable实现可暂停和取消的任务队列

一般来说,软件中总会有一些长时间的操作,这类操作包括下载文件,转储数据库,或者处理复杂的运算. 一种处理做法是,在主界面上提示正在操作中,有进度条,其他部分不可用.这里带来很大的问题, 使用者不知道到 ...

1.1、MyEclipse自定义注释

一.修改进入路径: Window->Preference->Java->Code Style->Code Template->Comments 二:编辑自定义注释 文件  ...

(5) 深入理解Java Class文件格式(四)

转载:http://blog.csdn.net/zhangjg_blog/article/details/21658415 前情回顾   在上一篇博客深入理解Java Class文件格式(三) 中, ...

nyist 47 过河问题

http://acm.nyist.net/JudgeOnline/problem.php?pid=47 过河问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:5   描述 在漆 ...

ABBYY FineReader出现错误和警告提示的解决办法

识别结果的质量取决于多种因素,这些因素包括原始文档的质量.结构布局和文档导出参数等.在使用ABBYY FineReader Pro for Mac OCR文字识别软件处理文档的各个阶段,应用程序均可能 ...

【Xamarin挖墙脚系列:卸载不彻底的解决】

原文:[Xamarin挖墙脚系列:卸载不彻底的解决] 卸载后,再次安装,总是授权还是原来的.请手工删除下文件: 卸载程序后 必须手工删除C:\ProgramData\Mono for Android\ ...

pat 1049. Counting Ones (30)

看别人的题解懂了一些些    参考P132 页<1 的数目> #include #include us ...

Servlet的学习之Session(2)

在上一篇中我们学习了Session对象默认在一个会话过程中,由服务器创建,能保存在这个会话过程中用户访问多个web资源时产生的需要保存的数据,并在访问服务器中其他web资源时可以将这些数据从Sessi ...

php 实现简单购物车

今天在练习购物车以及提交订单,写的有点头晕,顺便也整理一下,这个购物车相对来说比较简单,用于短暂存储,并没有存储到数据库, 购物车对于爱网购的人来说简直是熟悉的不能再熟悉了,在写购物车之前,我们首先要 ...

GRE 协议简介

1. 协议简介    gre(generic routing encapsulation,通用路由封装)协议是对某些网络层协议(如ip 和ipx)的数据报进行封装,使这些被封装的数据报能够在另一个网络 ...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值