下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/*用java语言编写,在JCeator中运行成功*这是一个放大镜的程序,运行后拖动屏幕左上角的方框,即可以看到放大效果*放大镜的原理:光的折射*/import java.awt *;import java.awt.ciit.*;import javax.swing.*;public class Magnifier extends J Frame private Container container = gctContciitPancQ;private int setCoordinateX;private int setCoordinatcY;private int absoluteCoor
2、dinateX;private int absolutcCoordinatcY;private int rclativcCoordinatcXVinicnMouscPrcsscd;private int rclativcC()()rdinatc,7VCrhciiM()uscPrcsscd;private boolean mousePressedNoprivate int magnifierSize = 100;private MagniflcrPancl magiiificrPicl = nrT MagiiifierPicl(magiiifierSizc);public MagilificrQ
3、 sctUndccoratcd(truc);sctRcsizablc(6dsc);container.add (magnificrPancI);addMouscListcncr(nc* MouseFunctionsO);addM()uscM()tic)nLi s tcncr(nrT MouscMotionFunctionsQ);updatcSizc(magiiificrSizc);this.sctVisiblc(truc);public static void main(String argfl) Magnifier magnifier = nuv MagnificrQ;magiiificr.
4、sctr)cfaukClosc()pcrati()n0 Frame. EX1T_()N_CL()SE);public void updatcSizc(int magilificrSizc) magiiificrP;incLsctMagnificrSizc(magtiificrSizc + 100);sctSizc(magiiificrSizc + 100, magilificrSizc + 100);validate:。;private class Mouse Func lions extends MouscAdaptcr public void m()uscPrcsscd(MouscEvcn
5、t c) if(c.gvtClickCountO = 1) /如果鼠标左键点了一下,说明按住了窗体 mouscPrcsscdXow = true;rclarivcCoordinatcXVCIicnMouscPrcsscd = c.gctXQ;rclarivcCoordinatcXnicnMouscPrcsscd = c.gctYQ;public void m(>uscRclcascd(MouseEvent c) mousePressedNow = false;private class M<>uscM()tic)nFunctions extends MouseMorionAd
6、apter public void m<)uscr)raggcd(MouscEvcnt c) if (mousePressedNow = true) /如果此时鼠标按下了,说明在拖拽窗体 absoluteCoordinateX = Magni ficr.this.gctLocationOnScrccnQ.x+ c.gctXQ;abs( >1 u tcC<)o rd in a tc Y = Magilificr.this.getLocarionOnScrccnQ.y+ c.gctYQ;setCoordinateX = absoluteCoordinateX-rclarivcCo
7、ordiiiatcXVClicnMouscPrcsscd;setCoordinatcY = abs()lutcC(x)rdiiiatcY-rulativuCoordinatcrYWhunVousuPrussud;magiiificrP;incLsctMagnificrL()cati()n(sctC()()rdinatcX>setCoordinate7);sctL(M:ari()n(sctC(x)rdinatcX, setCoordinateA7);class MagiiificrP;incl extends Panprivate Image screen!mage;private int
8、 magnifierSize;private int locationX;private int locationY;private Robot robot;public NIagiiificrP;incl(int magilifierSize) try robot = new Robot。; catch (AWTException c) scrcciilmagr = r()b()t.crcatcScrccnCaptiirc(n Rcctanglc(O, 0, Toolkit .gctDcfaultToolkitQ.gctSerccnSizcO.wdth, Toolkit .gctDcfaul
9、tToolkitQ.gctScrccnSizcO.hcit);this.magnificrSizc = magilifierSize;public void sctMagiiificrL(>cati<)n(int: locationX, int location7) this.locationX = locationX;this.locationY = locationY;repaintQ;public void sctMagnificrSizc(int magilifierSize) this.magnificrSizc = magilifierSize;public void paintC<)mp<)ncnt(CTraphics g) supcr.paintC()mponcnt(Graphics2r>) g);g.drawl magt(scrccnl mage,o,/目标矩形的第一个角的x坐标0,/目标矩形的第一个角的y坐标magilifierSize, /目标矩形的第二个角的x坐标 magilifierSize, /目标矩形的第二个角的y坐标 locationX + (magtiificrSizc / 4), / 源矩形的第一个角的 x 坐标 locationY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度技术转让与合作研发合同2篇
- 二零二四年度工程前期咨询服务合同2篇
- 个人商品交易买卖合同
- 2024年度企业间债务重组与融资合同2篇
- 《课堂呼唤简约》课件
- 2024版临时设施建设钢管脚手架合同3篇
- 基于2024年度钢筋施工标准的工程监理合同3篇
- 林爱2024年度版权购买合同
- 《商业秘密的保护》课件
- 企业合同模板
- 2024年代理要账居间协议合同范本
- 2024安全生产法律法规知识培训
- 江苏开放大学2024秋《建筑测量》作业3参考答案
- 2024污水处理厂运营合同书(范本)
- 2025年慢性阻塞性肺疾病全球创议GOLD指南修订解读课件
- 银行办公大楼物业服务投标方案投标文件(技术方案)
- 《机械设计基础》期末考试试卷六
- 2024年炉外精炼工(初级)职业技能鉴定考试题库(含答案)
- DB11T 527-2021 配电室安全管理规范
- 2024年市养老护理员职业技能竞赛参考试题库(含答案)
- 军人职业规划方案
评论
0/150
提交评论