`
siyanglu
  • 浏览: 15334 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

浅谈初级画板开发

阅读更多

     学习JAVA也有几个星期了,这次的画板开发算是刚入门的成果。虽然做的还是……嗯……很挫……不过也算开始熟悉了。

       到现在为止,自己编写的这个程序已经有了4个版本了。从刚开始只能画直线的,到加上矩形、椭圆、曲线等、再加上颜色的选择和橡皮的运用;从一开始的只有一个有着几百行的冗长的主程序,到后面的慢慢简化;从毫无美观可言的一个“白板”,到后面有着形象布局的版面。这个过程虽然不长,进步却是可观的。至于说进步在哪里的话,有图有真相。

    先来看最初的样子吧,这个可以说是毫无技术感可言,甚至比几岁孩子蹩脚的画还要难看。如果要说它能够有什么作为的话,我可以理直气壮地告诉你,可以在上面画直线!不过,也仅仅是画直线而已。

 

    第二个版本加了一点修饰,也无非是上了画布面板和几个按钮罢了,代码方面多了一个动作监听器用以判断选择了哪个按钮,另外就是加上了椭圆和矩形的画法。说道这两图形,单单使用Graphics中的drawOval和drawRect并不能得到想要的效果,这主要是因为他们的构造方法分别是:

drawOval(int x,int y, int width, int height){};
drawRect(int x,int y, int width, int height){};

 

 

单单将获得的起始点坐标(x1,y1)和结束点坐标(x2,y2)输入进去是不能根据鼠标的移动画出图形的。后来将参数改成了(x1,y1,x2-x1,y2-y1),看起来似乎可以了,但这仅仅考虑到了想x2>x1且y2>y1的情况,也即是只能向右下角拉出图形。于是再次修改,针对每种情况进行分析,得到了下面的代码:

if(command.equals("Oval")){ 
if(x1<x2&&y1<y2){gg.drawOval(x1, y1, x2-x1, y2-y1); 
}else if(x1<x2&&y1>y2){gg.drawOval(x1, y2, x2-x1, y1-y2); 
}else if(x1>x2&&y1<y2){gg.drawOval(x2, y1, x1-x2, y2-y1);
 }else if(x1>x2&&y1>y2){gg.drawOval(x2, y2, x1-x2, y1-y2); 
}

 矩形的画法是一样的,不过在下偷懒了,用了这么一种囧方法:

 

gg.drawLine(x1,y1,x2,y1); 
gg.drawLine(x1,y1,x1,y2);
 gg.drawLine(x1,y2,x2,y2); 
gg.drawLine(x2,y1,x2,y2);

 

 无论走向哪边,把四个点连接起来总不会错吧……于是,接下来的版本就是下面这个样子:(粉粉的可爱吧……不过话说后面三个选项其实是摆设……)

 

 

    接下来是第三个版本,将图标换成了图片格式,加上了曲线、圆角矩形和颜色选择,改进了画面布局,看起来有模有样了。这个版本除了样式改变了一些之外,代码上将各种选项实现的方法类和主函数分开,使主程序代码看起来更为简洁直观,也利于后面修改和添加新功能。新的样子如下图,盗版了XP的画板样式。很像有木有?尤其是下面那个颜色栏对吧?不过,我会告诉你那是个整的截下来的大图吗?

 

 

    现在是目前的版本,改进了的只有一点点,主要实现了橡皮擦的功能以及颜色栏的选择。现在的颜色栏是可以直接点击选择颜色的,左边的用来监听选择的颜色,右边自然是颜色选择器了。

 

 

    画板做到这里,算是略有所得了。这途中遇到了许多问题,也曾苦恼、灰心过,但最终那些问题都在在不断地探索和求教中得到了解决。今后的学习中也将会遇到更多的问题,但只要不放弃,总会有解决的时候的。这算是第一篇博文了吧,有关一个初学者的肤浅的体会。

  • 大小: 18.8 KB
  • 大小: 31.9 KB
  • 大小: 58 KB
  • 大小: 63.7 KB
分享到:
评论
2 楼 云初静 2011-10-23  
阅,8错8错~^_^||
1 楼 JuliaAilse 2011-10-21  
向鲁大师致敬!师傅在上,受徒儿一拜。我还在纠结,怎么个叫技术博客呢!呵呵,现在知道了!

相关推荐

    浅谈几何画板在初中数学课堂教学中的应用.pdf

    在初中数学课堂教学中,几何画板的运用极大地提升了教学效果,尤其在激发学生学习兴趣、形象展示抽象概念和促进数学实验方面起到了重要作用。几何画板是一款易于学习、操作简便且功能强大的软件,它已经成为数学教师...

    浅谈几何画板在初中数学课堂教学中的应用.docx

    【标题】: "几何画板在初中数学课堂教学中的应用" 【描述】: 本文探讨了如何利用几何画板这一教学工具提升初中数学课堂的教学效果,强调了其在激发学生兴趣、直观展示抽象概念以及进行数学实验等方面的重要作用。 ...

    行业资料浅谈几何画板在初中数学课堂教学中的应用.docx

    《几何画板》在初中数学课堂教学中的应用是一个重要的教学辅助工具,它凭借其易学、易操作和功能强大的特点,深受广大中学数学教师的喜爱。在K12阶段,尤其是在数学和计算机科学(CS)的教学中,它能有效地提升教学...

    火山安卓高级画板实现画板开发源码.rar

    火山安卓高级画板实现画板开发源码

    实现基本功能的初级画板(初来乍到)

    在IT领域,初级画板是一种常见的软件开发项目,它旨在为用户提供一个简单的平台进行图形绘制。这个"实现基本功能的初级画板"是为初学者设计的,它包含了一系列基本的画图工具,帮助用户轻松地创建和编辑图形。下面...

    行业资料浅谈几何画板在初中数学课堂教学中的应用.pdf

    。。。

    简单画板开发总结

    在IT行业中,开发一个简单的画板应用是一项常见的任务,它涉及到图形用户界面(GUI)设计、事件处理以及绘图技术。下面将详细讲解这个过程,包括核心知识点和可能遇到的技术难点。 首先,画板的基本功能通常包括...

    用JAVA开发的画板

    标题中的“用JAVA开发的画板”指的是一个使用Java编程语言构建的图形用户界面(GUI)应用程序,它允许用户在屏幕上进行绘画操作。这个程序可能是为教学目的设计的,特别适合那些正在学习Java编程的初学者,以帮助...

    超级几何画板-合于课件开发

    《超级几何画板:强大的课件开发工具》 在当今教育技术日新月异的时代,教育软件已经成为教学过程中的重要辅助工具。其中,“超级几何画板”作为一个极具特色的课件开发平台,以其丰富的功能和出色的交互性,深受...

    完整的安卓画板源代码 Android小画板

    【标题】"完整的安卓画板源代码 Android小画板" 涵盖了一系列与Android应用开发相关的技术点,特别是涉及到在移动设备上创建交互式绘图应用的实践。在这个项目中,开发者实现了一个功能丰富的画板应用,允许用户进行...

    2021-2022收藏资料浅谈用几何画板制作物理动画.doc

    2021年09月16日

    ios-画板.zip

    《iOS中的简易画板开发详解》 在移动设备上,画板应用是一种常见的创意工具,让用户可以自由地绘制、涂鸦。"ios-画板.zip" 提供的是一款简易的画板应用程序,它具备最基础的绘画功能。本文将深入探讨iOS平台上构建...

    一个基于vue3+typescript的画板源码.zip

    Vue3 是一款流行的前端框架,由尤雨溪开发,它提供了高效的组件化开发方式和强大的响应式系统。在Vue3中引入了Composition API,使得代码组织更加灵活且易于复用。typescript是静态类型语言,它是JavaScript的一个超...

    Flex画板实现~

    Flex画板实现主要涉及到的是Adobe Flex技术,这是一种用于构建富互联网应用程序(RIA)的开源框架。Flex使用MXML和ActionScript编程语言,基于Flash Player或Adobe AIR运行时环境,能够创建交互性强、视觉效果丰富的...

    javafx开发的画板程序.zip

    使用javafx开发的画板程序,类似于Windows上的画图程序,但所画的图形能够拖动,图形能够保存

    Android画板开发之基本画笔功能

    这是画板系列的第一篇,一步步开始,从简单的画板,到功能稍微齐全一点的画板,例如基本画笔、橡皮擦、背景、文字、撤销、反撤销、保存等 这篇带大家实现一个最简单的画板,前提是需要对自定义View有一定的了解。 用...

    火山软件开发平台18图像绘制及画板操作294页

    火山软件开发平台是易语言原创作者吴涛新作,是安卓快速开发中文编程之一,是提高安卓开发效率重要平台之一,鉴于目前中文教程很少,官网手册是非常好的教程之一,但是网站查看十分不方便,因此,本人整理出官方手册...

    C# winform 画板

    在C# WinForm应用开发中,创建一个画板是一个常见的需求,这通常涉及到图形用户界面(GUI)的设计和交互。这个“C# winform 画板”项目显然旨在教授如何利用C#语言和Windows Forms框架来实现一个基本的绘图应用程序...

    几何画板辅助数学教学技术开发源程序.rar

    "几何画板辅助数学教学技术开发源程序.rar"是一个配套的教学资源包,包含用于教学的源代码,旨在帮助教师更好地利用几何画板进行课堂教学,提升学生的理解和应用能力。 一、几何画板的核心功能 1. 几何构造:几何...

    python-游戏篇-初级-超级画板

    在这个初级游戏篇中,我们将探讨Python的基础知识以及如何创建一个简单的交互式画板应用。 首先,Python是一种高级编程语言,以其简洁、易读的语法闻名,这使得它成为初学者入门的理想选择。在游戏开发中,Python...

Global site tag (gtag.js) - Google Analytics