java语言的科学与艺术-编程练习10.4
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相关推荐
- 一本C语言的好书——《C语言的科学与艺术》
我经常会强调我的一个观点: 思想(或思考的方法)高于具体的方法,具体的方法又高于特定的软件使用. 我总是认为在学习知识时,尤其是针对已经不在学校里,不再有大把的时间可以让你字典式.无具体目标的学习知识 ...
- 《Java语言程序设计与数据结构》编程练习答案(第七章)(一)
<Java语言程序设计与数据结构>编程练习答案(第七章)(一) 英文名:Introduction to Java Programming and Data Structures, Comp ...
- 《Java语言程序设计与数据结构》编程练习答案(第三章)(三)
<Java语言程序设计与数据结构>编程练习答案(第三章)(三) 英文名:Introduction to Java Programming and Data Structures, Comp ...
- 《Java语言程序设计与数据结构》编程练习答案(第四章)(二)
<Java语言程序设计与数据结构>编程练习答案(第四章)(二) 英文名:Introduction to Java Programming and Data Structures, Comp ...
- 《Java语言程序设计与数据结构》编程练习答案(第四章)(一)
<Java语言程序设计与数据结构>编程练习答案(第四章)(一) 英文名:Introduction to Java Programming and Data Structures, Comp ...
- 《C语言的科学与艺术》中有关作者自定义库文件在各种编译器重的配置问题
<C语言的科学与艺术>这本书真的不错,简单易懂,但是书中作者自定义的一些库文件如果处理不好,在测试书中例子以及课后习题都会有一些小问题,我在网上看到一篇关于配置的文章,为了方便大家的学习, ...
- 《Java语言程序设计与数据结构》编程练习答案(第二章)(二)
<Java语言程序设计与数据结构>编程练习答案(第二章)(二) 英文名:Introduction to Java Programming and Data Structures, Comp ...
- Java语言程序设计 基础篇 原书第10版 ,梁勇著,百度云链接及密码
一本好书,对java小白来说是一本非常不错的书.第一次分享,请大家多多指教, Java语言程序设计 基础篇 原书第10版 ,梁勇著 链接:https://pan.baidu.com/s/1-MN_AS ...
- 读《C语言的科学与艺术》
从听说以后的工作会是嵌入式相关之后,就买了这本书来复习,到今天终于把她读完了,算起来也有不少时间了,这可不是我读书的风格(因为这个过程中发生了挺多事情,所以慢成这样),但是掩卷而思,这本书对我的帮助虽 ...
最新文章
- sql数据类型转换(cast() and convent())函数)
- Ubuntu上snmp安装、配置、启动及远程测试完整过程
- _stat64获取错误_Log4j,Stat4j,SMTPAppender集成–汇总错误日志以发送过多电子邮件...
- cesium js 路径_[CesiumJS]Cesium入门3 – Cesium目录框架结构
- 【Java数据结构与算法】第十七章 二分查找(非递归)和分治算法(汉诺塔)
- VUE的导入(HelloWord)
- hadoop的伪分布环境配置(2.5.2)
- OD使用教程10 - 调试篇10|解密系列
- 为什么CSDN登陆是明文传输账户密码
- SQL Server 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项
- ThinkPHP 商城属性添加
- 旧版微信支付文档链接
- 初级Java程序员如何快速提升自己的能力?
- 东南亚跨境电商shopee平台,教你轻松打造高销量品牌店铺!
- 谷歌论文Weight Agnostic Neural Networks(WANN)权重无关神经网络
- Java 生成Word文档 — 简单示例
- [小小明]Python正则表达式速查表与实操手册
- Solidity基础入门讲解
- springboot毕设茶会微电影评价系统37iza(java+VUE+Mybatis+Maven+Mysql)
- 2022 新的瞬间,重启一下
热门文章
- 2017小米面试题(句子反转)
- 2020 ccf推荐中文期刊_中国计算机学会推荐中文期刊目录,让业内学者不再盲目投稿...
- Postman系列之安装及简介
- ChaiNext:BTC将挑战6W关口
- SAP License:别闹了,这些都不是数字化转型
- SAP License:关于工作我的一些体会
- 金融风控小白入门必学:审批策略分析岗面试常见问题
- Dotnetcore或owin程序启用SSL的方法
- Myslq 之创建数据表
- XVIII Open Cup named after E.V. Pankratiev. Grand Prix of SPb