`
bigfang
  • 浏览: 40248 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
文章分类
社区版块
存档分类
最新评论

java的第二个程序——画图板

阅读更多
一、功能介绍:
    1.实现画直线、圆、矩形、橡皮四种形状。绘画方式:按住鼠标键拖动、再释放,与Windows的画图方式相似;
    2.可以选择画笔颜色;
    3.根据用户指定路径保存;
    4.只能打开自定义格式的图形文件,自定义为.ss文件;
    5.清楚画板上的图像

二、完成步骤:
    1.首先通过Java中的画图函数进行画图,均通过点击鼠标两次实现画图。加入JColorChooser。加入JComboBox。初次使用e.getSource,判断JFrame的事件源。e.getaActionCommand,判断动作事件源。
    2.加入清除功能。简单地进行保存,颜色为默认,并且在默认途径下保存,打开。
    3.实现类似Windows的画图方式,并可拖动至上下左右四个方向,都能拖动释放画图。实现画矩形方法,即矩形左上角点,取最小的x和y。
    4.将颜色写入文件来保存,分为红、绿、蓝三个int来保存。
    5.把JFrame画布转为Jpanel画布。
    6.完善保存和打开功能,加入JFileChooser,并默认给用户定义的文件名保存为.ss格式,当文件名已存在时,询问用户是否覆盖原文件。

三、错误总结:
    这是Java的第二个程序,所以,小错误还是挺多的。
    1.每个和事件源有关的组件,都要添加监听器,否则无法监听。总是忘记添加,常常只给一个组件添加,以为都添加了。
    2.保存,如何存数据,就如何读文件。读、写顺序一致,否则就报错了。
    3.要New 队列,否者只是申明,队列不存在。受到C语言中,一般没有new就定义数组的影响了。错误为Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException。
    4.定义变量时,最好赋初值,否则,可能初次使用为null,影响程序执行。
    5.方法fillRect(x1,y1,5, 5),填充的边界为5以内的,没有填充边界5。

四、感想
    首次用到了Java中的数据结构java.util.ArrayList< >。首次使用输入输出流文件保存。由于dis.readByte();没有读完的返回标志,所以根据存的长度读。由于涉及到多种图形,而他们有些属性是一致的,所以用到了抽象类。在JFrame里另外定义了一个Jpanel画布,除了JFrame,其他组件只能用setPreferredSize(new Dimension(580,500))来设置大小。每个组件都有各自的paint()方法,当组件内的内容在显示屏上由少变多,则自动调用,目前对paint()和repaint()的方法不是很详细。用一个类继承JPanel,来扩充JPanel的作用,体现了继承的扩展性。
   不足之处,由于设计的橡皮是画背景颜色的矩形,当画了很多橡皮之后,若继续画图,则会不断地重绘,屏幕就会闪。可能存储或者橡皮的设计方式不对,而引起的闪烁。另外,对于如何填充两个图形之间的相交处颜色,目前还没想到方法。

  今天,也是第16届广州亚运会闭幕式,运动员拼搏的精神真威武,向你们致敬,并且学习。


                               总图



                             保存


                   保存的文件名相同,提示是否覆盖
  • 大小: 70.4 KB
  • 大小: 34.6 KB
  • 大小: 10.3 KB
  • 大小: 70.4 KB
分享到:
评论

相关推荐

    C++程序——画图板

    5. **坐标系统**:在画图板中,通常会设定一个二维坐标系统,其中用户在屏幕上的点击和拖动会被转换为该坐标系中的坐标,以便进行精确的绘图。 6. **缓存机制**:为了提高性能和用户体验,画图板可能采用双缓冲技术...

    java学习小总结——画图板制作(附代码)

    在Java学习过程中,创建一个简单的画图板是一个经典的练习项目,它可以帮助我们深入理解图形用户界面(GUI)的构建和事件处理机制。本篇小结将聚焦于如何使用Java实现一个基本的画图板,同时提供相关的源码分析。 1...

    基于VC++MFC程序设计——简易画图板

    ### 基于VC++MFC程序设计——简易画图板 #### 概述 本文档将详细介绍如何利用VC++中的MFC(Microsoft Foundation Classes)框架来开发一款简易的画图板应用程序。该画图板的主要功能包括但不限于图形的绘制、线型...

    java画图板程序代码

    Java 画图板程序的结构主要包含了以下几个部分: (1)主窗口(JFrame):用于显示画板的主窗口。 (2)工具栏(JToolBar):提供了基本的绘图工具,如画笔、直线、椭圆、矩形等。 (3)画板(DrawCanvas):用于...

    java 画图板 windows画图板简单实现

    在Java编程语言中,实现一个简单的Windows画图板是一个经典的练习,它可以帮助初学者更好地理解图形用户界面(GUI)的设计以及事件处理机制。这个项目通常会涉及到Java的Swing库,这是一个用于创建桌面应用程序的GUI...

    JAVA应用程序 画图板

    【JAVA应用程序 画图板】是一个使用JAVA编程语言实现的简单图形用户界面(GUI)应用,它提供了一个画布供用户进行绘画操作。这个程序的核心是利用JAVA的Swing或JavaFX库来创建图形界面,并处理用户的输入事件,如...

    java画图板小程序,包括多种移动,复制,换色等功能

    在画图板程序中,模型可能包含对图形对象的操作,如创建、修改、保存和加载图形数据。它与视图和控制器解耦,只关注数据的管理。 - **View(视图)**:视图负责展示模型的数据,即在屏幕上呈现用户可见的图形界面。...

    JAVA简易画图板

    【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...

    java 画图板程序

    此画图板程序运用了类似photoshop界面,功能十分强大,界面优美,代码中带有解释易于理解,课程设计的不二选择。代码在workspace/oceanking/src中,只有一个文件,很适于初学者使用。

    JAVA课程设计报告——电梅 画图板.doc

    使用java语言开发的一款画图板,含文档说明,可用于java爱好者学习以及课程设计使用。

    一个Java实现的画图板程序

    在本项目中,“一个Java实现的画图板程序”是一个基于Java开发的图形用户界面应用,它允许用户进行基本的绘图操作,如绘制线条、形状、填充颜色等。这个程序通常会利用Java的AWT(Abstract Window Toolkit)或Swing...

    Java画图板应用

    Java画图板应用是一种基于Java编程语言开发的图形用户界面(GUI)程序,它提供了类似Windows操作系统内置画图板的功能。这个程序的核心是利用Java的Swing或JavaFX库来构建用户界面,允许用户进行基本的绘图操作,如...

    毕业设计——画图程序

    【标题】"毕业设计——画图程序"是一个典型的个人项目,通常由计算机科学或相关专业的学生在毕业时完成,以展示他们的编程技能和对图形用户界面的理解。这个项目可能包括了设计、编码、测试和文档编写等多个阶段,是...

    Java画图板程序 源代码

    用Java实现类似于windows自带的画图板程序,麻雀虽小,五脏俱全哦!

    画图程序——Java

    一个简单的画图程序,Java实现的,画直线,圆,矩形等

    java画图板程序,功能齐全,代码简单

    Java画图板程序是一种利用Java编程语言开发的图形用户界面应用,主要目的是提供一个平台让用户可以进行简单的绘图操作。这个程序的特点是功能全面且代码实现简洁,对于初学者来说,是一个很好的学习和实践项目。 ...

    Android源码——画图程序源码.zip

    这个"Android源码——画图程序源码.zip"文件包含了一个简单的Android应用程序,它允许用户在屏幕上自由绘制图形。通过分析这个源码,我们可以深入理解Android图形系统、触摸事件处理以及自定义View的机制。 首先,...

    java实现小型函数画图板(含源代码、报告、打包的jar文件)

    java课程设计的一个题目。本程序可以画各种函数曲线,功能有: 1.新建、打开、保存画图 ...第二步:运行jar,在命令行中输入java -jar Draw.jar 第三步:菜单-File-New 新建画板,之后就可以画图了

Global site tag (gtag.js) - Google Analytics