总结:通过匿名类来实现鼠标的监听或者  通过实现接口的方法都可以的

从此是实现MouseListener接口的方式

package com.a.b;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Paint;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
///练习监听的
import javax.swing.*;//
//实现鼠标双击时画圆,运用画图
class Shape extends JFrame implements MouseListener { //设置图形的坐标
int x,y;
public Shape(){
JLabel jl=new JLabel("你是我的信仰");
jl.setForeground(Color.yellow);
JLabel jl2=new JLabel("你是冬天里的太阳");
jl2.setForeground(Color.red);
JPanel jp=new JPanel();
//看到冒这些字体什么都没显示在fraem
jp.add(jl2);
jp.add(jl);
jp.setBackground(Color.green);//设置frame的背景色 this.add(jp);
this.setBounds(100, 200, 500, 500);
this.setDefaultCloseOperation(3);
//ini();
this.setVisible(true);
this.addMouseListener(this);//要想实现鼠标事件,必须先要注册事件侦听器,然后调用接口里的MouseClicked方法
}
Random r=new Random(); public void paint(Graphics g) {//////////我终于明白了,这个画图的方法不是普通的方法,是自带的,小写的才可以被自动调用
g.setColor(new Color(r.nextInt(255),r.nextInt(255),r.nextInt(255)));//否则是根本画不出来图形
//画圆。长方形,椭圆。直线。实心圆
g.fillOval(x, y, 44, 44);//实心圆
g.drawOval(x, y-32, 32, 32);//空心圆
//g.drawRect( x, y-22, 55,55);
g.drawLine(x, y, 44, 44);//这是一条直线
g.drawString("hello world!!!", 300, 300);
} @Override
public void mouseClicked(MouseEvent e) {
if(e.getClickCount()>=3){ x=e.getX();
y=e.getY();
repaint();
}
} @Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub } @Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub } } public class Tuxing {
public static void main(String[] args) {
new Shape();
}
}

  

最新文章

  1. 学习WCF入门的第一个实例
  2. 用rose画UML图(用例图,活动图)
  3. MySQL外键与外键关系说明(简单易懂)
  4. 逻辑思维面试题-java后端面试-遁地龙卷风
  5. Spring框架学习路线和概述
  6. Solr5.0配置中文分词包
  7. Google首席软件工程师Joshua Bloch谈如何设计一款优秀的API【附PPT】
  8. AndroidStudio 问题汇总
  9. UIView 的transitionFromView方法实现视图切换
  10. MyEclipse默认标签TODO,XXX,FIXME和自定义标签的使用
  11. 实例源码--ZXing识别条形码和二维码识别源码
  12. 发起SSH攻击主机IP地址列表
  13. cocos2dx CCTextFieldTTF
  14. 减少可执行程序size的三个常用软件
  15. Tree on the level UVa122
  16. SLAM入门之视觉里程计(5):单应矩阵
  17. Hadoop介绍
  18. awk简单用法-(1)
  19. oracle中 trunc 处理日期的用法
  20. Data - Spark简介

热门文章

  1. Python基础笔记系列一:基本工具与表达式
  2. Linux Wget 命令
  3. glance cache
  4. angular指令(二)--内置指令
  5. POI使用总结
  6. maven 其他远程仓库配置
  7. 51nod-1201-数位dp
  8. http Code含义
  9. visualvm监控jvm及远程jvm监控方法
  10. .SourceInsight添加.S文件