展开全部

import java.awt.BasicStroke;

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.FlowLayout;

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Graphics2D;

import java.awt.Label;

import java.awt.Panel;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseMotionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

public class MouseDrawPanel extends Frame

{

private static final long serialVersionUID = 1L;

MouseEvent e = null;

int startX = -1;

int startY = -1;

int endX = -1;

int endY = -1;

boolean left = false;

public MouseDrawPanel ( String title )

{

32313133353236313431303231363533e78988e69d8331333363373737setTitle (title);

setLayout (new BorderLayout ());

setResizable (false);

setSize (500, 400);

setLocationRelativeTo (null);

addWindowListener (new WindowAdapter ()

{

@Override

public void windowClosing ( WindowEvent e )

{

System.exit (0);

}

});

}

@Override

public void paintComponents ( Graphics g )

{

float lineWidth = 8.0f;

( (Graphics2D) g ).setStroke (new BasicStroke (lineWidth));

g.setColor (Color.YELLOW);

g.drawLine (startX, startY, endX, endY);

g.dispose ();

}

public static void main ( String[] args )

{

final MouseDrawPanel mdp = new MouseDrawPanel ("Use Mouse Draw");

Panel panel = new Panel ();

panel.setLayout (new FlowLayout (FlowLayout.LEFT));

Label startL = new Label ("start: ");

Label endL = new Label ("end: ");

final Label nowL = new Label ("now: ");

final Label startR = new Label ("000,000");

final Label endR = new Label ("000,000");

final Label nowN = new Label ("000,000");

panel.add (startL);

panel.add (startR);

panel.add (endL);

panel.add (endR);

panel.add (nowL);

panel.add (nowN);

mdp.add (panel, "South");

mdp.addMouseMotionListener (new MouseMotionListener ()

{

@Override

public void mouseMoved ( MouseEvent e )

{

if (mdp.left)

{

nowN.setText (e.getX () + " , " + e.getY ());

}

}

@Override

public void mouseDragged ( MouseEvent e )

{

if (mdp.left)

{

mdp.endX = e.getX ();

mdp.endY = e.getY ();

mdp.paintComponents (mdp.getGraphics ());

mdp.startX = mdp.endX;

mdp.startY = mdp.endY;

endR.setText (mdp.endX + " , " + mdp.endY);

}

}

});

mdp.addMouseListener (new MouseAdapter ()

{

@Override

public void mousePressed ( MouseEvent e )

{

if (e.getButton () == MouseEvent.BUTTON1)

{

mdp.startX = e.getX ();

mdp.startY = e.getY ();

startR.setText (mdp.startX + " , " + mdp.startY);

mdp.left = true;

}

else

{

mdp.left = false;

}

}

@Override

public void mouseReleased ( MouseEvent e )

{

if (mdp.left)

{

endR.setText (e.getX () + " , " + e.getY ());

}

}

});

mdp.setVisible (true);

}

}

java 涂鸦_java 涂鸦画板相关推荐

  1. java 涂鸦_JAVA涂鸦

    4:3模式.16:9模式.字幕模式.电影模式.全景模式.图强模式.不同类型.不同厂家的液晶电视会有不同的显示模式,但都大同小异. 让我们看一下各模式的差别和作用. 1.4:3模式 这是我们常用的电视收 ...

  2. Java 涂鸦跳跃,涂鸦跳跃怎么玩-涂鸦跳跃触屏版的怎么玩啊?

    涂鸦跳跃(涂鸦跳跃),是一个非常有趣的技巧游戏,倾斜你的手机左,右,使小怪兽春天涂鸦不停跳,降不下来,跳跃是在破平台小心,移动的蓝色平台,黑色孔,不明飞行物和坏人,途中有快速上升的火箭和竹蜻蜓,这是一 ...

  3. java创建画板_Java版画板的实现方法

    Windows的画图板相信很多人都用过,这次我们就来讲讲Java版本的简易画板的实现. 基本的思路是这样的:画板实现大致分三部分:一是画板界面的实现,二是画板的监听以及画图的实现,三是画板的重绘.(文 ...

  4. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  5. 48.【Java 格斗制游戏-画板-银行金额转换系统】

    Java 实现回合格斗游戏 (一).格斗制游戏 1.游戏规则 2.基本思路: 3.视频效果 (二)调用画板 1.框架类 2.框架的定义格式: 3.画板类(Panel) 4.代码展现: 5.效果展示: ...

  6. 黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三)

    黑马程序员全套Java教程_Java基础教程_异常(含扩展)(二十三) 1.1 异常概述与异常体系结构 1.2 JVM遇到异常时的默认处理方案 1.3 异常处理 1.4 异常处理之try--catch ...

  7. 贴吧涂鸦–毕加索的画板

    摘要 贴吧社区上线了用户等级权限系统,"涂鸦"属于"等级权限"项目中的单项权限功能,有助于丰富完善等级权限体系,为高等级用户提供更强大的功能,帮助产出差异化内容 ...

  8. Java 涂鸦跳跃,涂鸦跳跃java版

    涂鸦跳跃java版,一款趣味性十足的休闲闯关小游戏,在这款java版本中小伙伴们可以体验到更加有意思的闯关乐趣,大家在这里不断的练习调谑的技巧,灵活躲避上方出现的障碍物,同时还有各种道具的刷新出现帮助 ...

  9. java 渐变橡皮擦_java 的画板上面的一个橡皮檫功能

    importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classToolBarextendsJPanel{//工具条Image[]im ...

最新文章

  1. excel求期望_商务数据分析考试:决策树分析(Excel)-安聪
  2. select resharper shortcuts scheme
  3. 资源共享冲突问题概述
  4. 基本户想大量提现,财务该怎么做账
  5. Lua——table(表)的使用
  6. Java高并发之BlockingQueue
  7. 数据库支持的数据类型
  8. 关于内存的最后一个难点--the paged and the non-paged pool
  9. 后端小白的VUE入门笔记, 前端高能慎入
  10. [堆] Jzoj P5861 失意
  11. 操作系统之IO设备详解
  12. 海思3518C 4G模块移植及运用
  13. 互联网大佬“舌战”996:马云、刘强东、周鸿祎、张朝阳、李国庆,你站谁?
  14. 传奇微端需要下载客户端吗?传奇微端架设教程,微端配置教程
  15. 大数据基础(三):​​​​​​​​​​​​​​​​​​​​​大数据应用场景
  16. java常见正则表达式用法
  17. vue使用XSLX,用CDN引入后下载的excel文件无法打开的解决办法
  18. 【python初学者日记】输入正整数n,求1+2+3+……+n的值
  19. crm自动编号(第二天再次001从开始)
  20. 2019-11-29-git-需要知道的1000个问题

热门文章

  1. linux perl telnet安装,Perl--Net::Telnet模块
  2. 安卓移动应用开发考题_Android移动应用试卷试题带答案.doc
  3. linux的ls命令详解
  4. c++人脸特征保存到本地_尚邦小规模人脸识别布控系统
  5. 设置Eclipse可以Debug模式调试JDK源码,并显示局部变量的值
  6. 我使用过的Linux命令之file - 检测并显示文件类型
  7. 第一章 内核模块 elf文件
  8. c语言如何让函数一直执行,C语言如何实现在每天某个特定时间执行某个函数?
  9. flink链接mysql_flink 将mysql作为Source和Sink的代码示例
  10. 为什么服务器虚拟化,为什么要进行服务器虚拟化