6.4.用填充效果画图
6.5.用带有颜色的画笔画图
7 设计总结
在本次java课程设计中,我设计了一个绘图应用程序。该绘图应用程序实现了画曲线,直线,画圆,画矩形和粗线功能,同时可以实现图形的填充和颜色的变换,另外还设计了一个清除画板按键,可以应用于平时一些简单的画图操作。
在本绘图应用程序中,所存在的问题是图形的种类不够完善,未能实现画弧,画多边形等功能,另外一个不足的地方时整个画板只能画一种颜色的图形,未能满足更高要求的绘画需要。
在本次java课程设计中,我收获了很多。特别是在编写java程序时,必须先对程序的功能进行初步的分析,得到程序中每一个功能所需要用到的方法或思路,同时根据功能的相似来设计一类功能的实现,并通过某些语句的改变达到多功能效果,例如在本次设计中,分析可得圆和矩形有很大的相似度,利用drawOval和drawRect的变换可以达到绘画的效果。在设计图形的填充时,我参考了本学期所学的JCheckBox方法和判断语句,有效地处理了图形的填充问题,并系统地学习了鼠标拖拽的应用。在本次设计中,最难处理的问题是用鼠标拖拽来画直线,圆和矩形,因为在使用鼠标拖拽时,会出现在画板上不断重画的效果,无法达到自己想要的效果,后来在同学的帮助和参考部分java教科书下,成功了解决了这个问题,而在解决这个问题,使我认识到学习不能只局限于课本,必要时应该要多阅读一些相关的java书籍,从而让自己的知识面更加广,处理问题更加有效率。所以,经过本次编写绘图应用程序,使我把本学期所学的java知识充分地运用到课程设计中来,既提高了自己学习的主动性,同时为自己以后的学习打下了更深的基础。
参考文献
[1] John Lewis、Willian Loftus,Java程序设计教程,北京:电子工业出版社,2009; [2] 杨树林、胡洁萍,Java语言最新实用案例教程,北京:清华大学出版社,2006; [3] 谭浩强,C程序设计,北京:清华大学出版社,2008。
附录:
import javax.swing.JFrame; public class Draw1 {
public static void main (String[] args) {
JFrame frame = new JFrame (\
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE); DrawPanel draw =new DrawPanel(); frame.getContentPane().add (draw); frame.pack(); frame.setVisible(true); } }
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.*;
import javax.swing.colorchooser.*; public class DrawPanel extends JPanel {
private JPanel p1,right,left;
private JRadioButton op1,op2,op3,op4,op5;