当前位置: 首页 > news >正文

宋庄网站建设/郑州seo顾问外包公司

宋庄网站建设,郑州seo顾问外包公司,如何自己注册网站,漏惹网站做之前学习画图板时我们已经学习了如何对画图板进行重绘,也已经知道了当改变界面大小(最大化、最小化)时,画板上绘制的图形会全部消失,原因是由于: 图形界面时由容器组件和元素组件构成的,而所有的组件都是采用的C和C的…

之前学习画图板时我们已经学习了如何对画图板进行重绘,也已经知道了当改变界面大小(最大化、最小化)时,画板上绘制的图形会全部消失,原因是由于:

图形界面时由容器组件和元素组件构成的,而所有的组件都是采用的C和C++的代码,AWT组件就是通过调用操作系统底层的绘图函数来实现的;SWING组件则是在基于AWT组件的基础上,采用纯Java语言实现的。当改变窗体大小时,Java会调用组件的绘制方法,根据新的大小将组建重新画一次,绘制组件的方法叫paint(Graphics g)。

对于轻量级组件:SWING组件只有顶级容器组件中才会有paint方法的实现
对于重量级组件:AWT组件中每一个组件都有一个paint的方法的实现。

但是在组建进行重绘时,并没有把你之前画过的图像重新再画一次,所以要再画一次:

首先继承JFrame类,重写paint(Graphics g)方法,使用super调用父类中的方法代码,再添加需要的新的代码;其次,图形要储存在链表、向量、数组、堆、栈、二叉树、哈希……且每个图形有多个数据,数据的类型也不一定相同,这该如何处理?按照上节课学习的内容,要定义一个图形父类,因为类的属性可以有不同类型的数据,每一个图形就是一个图形对象,然后再重绘方法中,遍历数据结构中的内容,获取图形对象,根据对象的数据,将图形重新画一次。

但今天,我们选择不同的的方式来进行图像重绘,具体操作方案如下:

通过把界面上之前画的像素存储起来,在重绘方法时再画出,进而实现图像重绘。在存储像素时,把窗体中的内容转换为一个BufferedImage的图形对象 (在使用时需要重写BufferedImage中的getImage方法),调用Robot中的robot.createScreenCapture方法获取像素点;重新定义一个数组getRGBarrys,用它来存放像素点数据,再重新定义一个Capture方法,里面执行获取像素并存放进入数组中去,具体代码如下:

public BufferedImage getImage() {// TODO Auto-generated method stubreturn image;
}
public int [][] getRGBarrays () {// TODO Auto-generated method stubreturn arrays;
}
public void Capture() {Rectangle rect = new Rectangle(0,0,frame.getHeight(),frame.getWidth());image = robot.createScreenCapture(rect);arrays = new int [image.getHeight()][image.getWidth()];for(a = 0; a <image.getHeight(); a++) {for(b = 0; b< image.getWidth(); b++) {arrays[a][b] = image.getRGB(a, b);}}
}

同时还要,继承JFrame类,在Drawing的主函数中重写paint(Graphics g)方法,别忘记使用super调用父类中的代码,然后再添加新的代码。

public void paint(Graphics g) {super.paint(g);BufferedImage image = dl.getImage();if (image != null) {g.drawImage(image, 0, 0, this);}int arrays[][] = dl.getRGBarrays();if (arrays != null) {for(a = 0; a <arrays.length; a++) {for(b = 0; b< arrays[a].length; b++) {Color color = new Color (arrays[a][b]);g.setColor(color);g.drawLine(a, b, a, b);}}}}

但这种方法实现重绘有一个缺点,或者说还未实现的一个问题,就是Drawing在调用方法重绘时,将界面上的所有内容都进行了重绘,即从电脑屏幕左上角开始进行重绘,会画上很多没有用的信息,暂时不能从画图界面的左上角开始重绘,这个问题仍然有待解决,解决后会在本博客上面进行补充说明,如果大家谁有好的解决方法,也希望能提出您的宝贵意见,大家互相交流经验。

http://www.jmfq.cn/news/4925467.html

相关文章:

  • 泊头做网站的/上海官网seo
  • 经典网站代码/百度一下官网首页
  • 做时时彩网站平台软件/淘宝网店怎么运营起来
  • wordpress名言插件/搜索引擎关键词优化技巧
  • 云南手机网站制作/自助建站系统模板
  • 如何建外贸网站/百度网页制作
  • 建设网站需要几个人完成/sem运营
  • 台州专业制作网站/宁波seo服务推广
  • 临沂建设规划局网站/今天的新闻 最新消息
  • 在哪个网站做流程图比较好看/网络推广网络营销和网站推广的区别
  • 如何做外贸网站推广/怎么在百度发布个人简介
  • 网站开发还有哪些/百度开户渠道商哪里找
  • 做网站机构图用什么工具/网络推广有哪些途径
  • 企业网站建设分析/中国网评中国网评
  • 快速的网站开发工具/全国今日新增疫情
  • 一般网站服务费怎么入账做分录/什么是关键词
  • 做网站建设价格/cps游戏推广平台
  • 凡科做网站技巧/小熊猫seo博客
  • 漳州市城乡建设局网站6/推广项目网站
  • 台州市住房和城乡建设局网站/服务营销策略
  • 哪里有微信网站建设/长尾关键词挖掘爱站网
  • 怎么做投资网站不违法/首页优化排名
  • 小城建设的网站/比较靠谱的推广平台
  • 合肥市门窗工程在哪个网站接活做/网站推广教程
  • 比较有名的网站建设公司/渠道营销推广方案
  • 官网站内优化怎么做/湖南网络优化
  • 北京网站建设的价格天/seopc流量排名官网
  • 设计头像 制作 免费/外贸seo
  • wordpress 子主题开发/百度搜索结果优化
  • 网站开发研/网站优化关键词