1 /*
 2  * 程序可以用鼠标拖拽话出一个矩形;
 3  */
 4 import acm.graphics.*;
 5 import acm.program.*;
 6 import java.awt.event.*;
 7
 8 public class DrawRectangle extends GraphicsProgram{
 9     //鼠标侦听
10     public void run(){
11         addMouseListeners();
12     }
13     //鼠标按下事件
14     public void mousePressed(MouseEvent e){
15         press = new GPoint(e.getPoint());
16     }
17     //鼠标拖拽事件
18     public void mouseDragged(MouseEvent e){
19         double x = press.getX();
20         double y = press.getY();
21         double width = e.getX() - press.getX();
22         double height = e.getY() - press.getY();
23         //确保向左下方拖拽也能画出矩形;
24         if(width < 0 ){
25             x = e.getX();
26             width = -width;
27         }
28         //确保向上方拖拽也能画出矩形;
29         if(height < 0){
30             y = e.getY();
31             height = -height;
32         }
33         if(height < 0) height = -height;
34         GRect rect = new GRect(x, y, width, height);
35         rect.setFilled(true);
36         add(rect);
37     }
38     private GPoint press; //记录鼠标按下的点;
39 }

转载于:https://www.cnblogs.com/mybluecode/archive/2012/12/20/2826161.html

java语言的科学与艺术-编程练习10.4相关推荐

  1. 一本C语言的好书——《C语言的科学与艺术》

    我经常会强调我的一个观点: 思想(或思考的方法)高于具体的方法,具体的方法又高于特定的软件使用. 我总是认为在学习知识时,尤其是针对已经不在学校里,不再有大把的时间可以让你字典式.无具体目标的学习知识 ...

  2. 《Java语言程序设计与数据结构》编程练习答案(第七章)(一)

    <Java语言程序设计与数据结构>编程练习答案(第七章)(一) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  3. 《Java语言程序设计与数据结构》编程练习答案(第三章)(三)

    <Java语言程序设计与数据结构>编程练习答案(第三章)(三) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  4. 《Java语言程序设计与数据结构》编程练习答案(第四章)(二)

    <Java语言程序设计与数据结构>编程练习答案(第四章)(二) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  5. 《Java语言程序设计与数据结构》编程练习答案(第四章)(一)

    <Java语言程序设计与数据结构>编程练习答案(第四章)(一) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  6. 《C语言的科学与艺术》中有关作者自定义库文件在各种编译器重的配置问题

    <C语言的科学与艺术>这本书真的不错,简单易懂,但是书中作者自定义的一些库文件如果处理不好,在测试书中例子以及课后习题都会有一些小问题,我在网上看到一篇关于配置的文章,为了方便大家的学习, ...

  7. 《Java语言程序设计与数据结构》编程练习答案(第二章)(二)

    <Java语言程序设计与数据结构>编程练习答案(第二章)(二) 英文名:Introduction to Java Programming and Data Structures, Comp ...

  8. Java语言程序设计 基础篇 原书第10版 ,梁勇著,百度云链接及密码

    一本好书,对java小白来说是一本非常不错的书.第一次分享,请大家多多指教, Java语言程序设计 基础篇 原书第10版 ,梁勇著 链接:https://pan.baidu.com/s/1-MN_AS ...

  9. 读《C语言的科学与艺术》

    从听说以后的工作会是嵌入式相关之后,就买了这本书来复习,到今天终于把她读完了,算起来也有不少时间了,这可不是我读书的风格(因为这个过程中发生了挺多事情,所以慢成这样),但是掩卷而思,这本书对我的帮助虽 ...

最新文章

  1. sql数据类型转换(cast() and convent())函数)
  2. Ubuntu上snmp安装、配置、启动及远程测试完整过程
  3. _stat64获取错误_Log4j,Stat4j,SMTPAppender集成–汇总错误日志以发送过多电子邮件...
  4. cesium js 路径_[CesiumJS]Cesium入门3 – Cesium目录框架结构
  5. 【Java数据结构与算法】第十七章 二分查找(非递归)和分治算法(汉诺塔)
  6. VUE的导入(HelloWord)
  7. hadoop的伪分布环境配置(2.5.2)
  8. OD使用教程10 - 调试篇10|解密系列
  9. 为什么CSDN登陆是明文传输账户密码
  10. SQL Server 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项
  11. ThinkPHP 商城属性添加
  12. 旧版微信支付文档链接
  13. 初级Java程序员如何快速提升自己的能力?
  14. 东南亚跨境电商shopee平台,教你轻松打造高销量品牌店铺!
  15. 谷歌论文Weight Agnostic Neural Networks(WANN)权重无关神经网络
  16. Java 生成Word文档 — 简单示例
  17. [小小明]Python正则表达式速查表与实操手册
  18. Solidity基础入门讲解
  19. springboot毕设茶会微电影评价系统37iza(java+VUE+Mybatis+Maven+Mysql)
  20. 2022 新的瞬间,重启一下

热门文章

  1. 2017小米面试题(句子反转)
  2. 2020 ccf推荐中文期刊_中国计算机学会推荐中文期刊目录,让业内学者不再盲目投稿...
  3. Postman系列之安装及简介
  4. ChaiNext:BTC将挑战6W关口
  5. SAP License:别闹了,这些都不是数字化转型
  6. SAP License:关于工作我的一些体会
  7. 金融风控小白入门必学:审批策略分析岗面试常见问题
  8. Dotnetcore或owin程序启用SSL的方法
  9. Myslq 之创建数据表
  10. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb