- 浏览: 237360 次
- 性别:
- 来自: 西安
文章分类
最新评论
-
qwe2252099:
给力!简单易懂
两个java web服务间SoapMessage对象的传递 -
mimang2007110:
不是自带的,自己编辑过的
java代码模板 -
墨子宇:
貌似不是带有箭头的
CSS带箭头的导航菜单 -
墨子宇:
借鉴一下。不是自带的那个吧
java代码模板 -
墨子宇:
看名字应该是注释模板吧
myeclipse编码模板
/*可调画笔粗细-Java画图实验-Java源代码 -good code *画直线,曲线,矩形,椭圆,可调颜色,有橡皮擦功能 *可调画笔粗细 *没有解决闪烁功能 *hxz*/ import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import java.awt.geom.*; class Point { int x,y; Color col; int tool; int boarder; Point(int x, int y, Color col, int tool, int boarder) { this.x = x; this.y = y; this.col = col; this.tool = tool; this.boarder = boarder; } } /* *BasicStroke *Choice *validate(); **/ class paintboard extends Frame implements ActionListener,MouseMotionListener,MouseListener,ItemListener { int xx0=0,yy0=0; int xx1=0,yy1=0; int type=6; int x = -1, y = -1; int con = 1;//画笔大小 int Econ = 5;//橡皮大小 int toolFlag = 0;//toolFlag:工具标记 //toolFlag工具对应表: //(0--画笔);(1--橡皮);(2--清除); //(3--直线);(4--圆);(5--矩形); Color c = new Color(0,0,0); //画笔颜色 BasicStroke size = new BasicStroke (con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL);//画笔粗细 Point cutflag = new Point(-1, -1, c, 6, con);//截断标志 Vector paintInfo = null;//点信息向量组 int n = 1; // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/ Panel toolPanel; Button eraser, drLine,drCircle,drRect; Button clear ,pen; Choice ColChoice,SizeChoice,EraserChoice; Button colchooser; Label 颜色,大小B,大小E; paintboard(String s)//构造函数 { super(s); addMouseMotionListener(this); addMouseListener(this); paintInfo = new Vector(); /*各工具按钮及选择项*/ //颜色选择 ColChoice = new Choice(); ColChoice.add("黑色"); ColChoice.add("红色"); ColChoice.add("蓝色"); ColChoice.add("绿色"); ColChoice.addItemListener(this); //画笔大小选择 SizeChoice = new Choice(); SizeChoice.add("1"); SizeChoice.add("3"); SizeChoice.add("5"); SizeChoice.add("7"); SizeChoice.add("9"); SizeChoice.addItemListener(this); //橡皮大小选择 EraserChoice = new Choice(); EraserChoice.add("2"); EraserChoice.add("3"); EraserChoice.add("4"); EraserChoice.add("5"); EraserChoice.addItemListener(this); toolPanel = new Panel(); clear = new Button("清除"); eraser = new Button("橡皮"); pen = new Button("画笔"); drLine = new Button("画直线"); drCircle = new Button("画圆形"); drRect = new Button("画矩形"); colchooser = new Button("显示调色板"); //各组件事件监听 clear.addActionListener(this); eraser.addActionListener(this); pen.addActionListener(this); drLine.addActionListener(this); drCircle.addActionListener(this); drRect.addActionListener(this); colchooser.addActionListener(this); 颜色 = new Label("画笔颜色",Label.CENTER); 大小B = new Label("画笔大小",Label.CENTER); 大小E = new Label("橡皮大小",Label.CENTER); //面板添加组件 toolPanel.add(pen); toolPanel.add(drLine); toolPanel.add(drCircle); toolPanel.add(drRect); toolPanel.add(颜色); toolPanel.add(ColChoice); toolPanel.add(大小B); toolPanel.add(SizeChoice); toolPanel.add(colchooser); toolPanel.add(eraser); toolPanel.add(大小E); toolPanel.add(EraserChoice); toolPanel.add(clear); //工具面板到APPLET面板 add(toolPanel,BorderLayout.NORTH); setBounds(60,60,800,650); setVisible(true); validate(); //dialog for save and load addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0);} }); } public void paint(Graphics g) { Graphics2D g2d = (Graphics2D)g; Point p1,p2; n = paintInfo.size(); if(toolFlag==2) g.clearRect(0,0,getSize().width,getSize().height);//清除 switch(type) { case 3: Line2D line = new Line2D.Double(xx0,yy0,xx1,yy1); g2d.draw(line); break; case 4: Ellipse2D ellipse1 = new Ellipse2D.Double(xx0, yy0, Math.abs(xx1-xx0) ,Math.abs(yy1-yy0)); g2d.draw(ellipse1); break; case 5: Rectangle2D rect1 = new Rectangle2D.Double(xx0, yy0, Math.abs(xx1-xx0) , Math.abs(yy1-yy0)); g2d.draw(rect1); break; default :break; } for(int i=0; i<n-1; i++) { p1 = (Point)paintInfo.elementAt(i); p2 = (Point)paintInfo.elementAt(i+1); size = new BasicStroke(p1.boarder,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); g2d.setColor(p1.col); g2d.setStroke(size); if(p1.tool==p2.tool) { switch(p1.tool) { case 0://画笔 Line2D line1 = new Line2D.Double(p1.x, p1.y, p2.x,p2.y); g2d.draw(line1); break; case 1://橡皮 g.clearRect(p1.x, p1.y, p1.boarder, p1.boarder); break; case 3://画直线 Line2D line2 = new Line2D.Double(p1.x, p1.y, p2.x, p2.y); g2d.draw(line2); break; case 4://画圆 Ellipse2D ellipse = new Ellipse2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) ,Math.abs(p2.y-p1.y)); g2d.draw(ellipse); break; case 5://画矩形 Rectangle2D rect = new Rectangle2D.Double(p1.x, p1.y, Math.abs(p2.x-p1.x) ,Math.abs(p2.y-p1.y)); g2d.draw(rect); break; case 6://截断,跳过 i=i+1; break; default :break; }//end switch }//end if }//end for } public void itemStateChanged(ItemEvent e) { if(e.getSource()==ColChoice)//预选颜色 { String name = ColChoice.getSelectedItem(); if(name=="黑色") { c = new Color(0,0,0); } else if(name=="红色") { c = new Color(255,0,0); } else if(name=="绿色") { c = new Color(0,255,0); } else if(name=="蓝色") { c = new Color(0,0,255); } } else if(e.getSource()==SizeChoice)//画笔大小 { String selected = SizeChoice.getSelectedItem(); if(selected=="1") { con = 1; size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); } else if(selected=="3") { con = 3; size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); } else if(selected=="5") { con = 5; size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); } else if(selected=="7") { con = 7; size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); } else if(selected=="9") { con = 9; size = new BasicStroke(con,BasicStroke.CAP_BUTT,BasicStroke.JOIN_BEVEL); } } else if(e.getSource()==EraserChoice)//橡皮大小 { String Esize = EraserChoice.getSelectedItem(); if(Esize=="2") { Econ = 3*3; } else if(Esize=="3") { Econ = 4*4; } else if(Esize=="4") { Econ = 5*5; } else if(Esize=="5") { Econ = 6*6; } } } public void mouseDragged(MouseEvent e) { xx1 = (int)e.getX(); yy1 = (int)e.getY(); Point p1 ; switch(toolFlag){ case 0://画笔 x = (int)e.getX(); y = (int)e.getY(); p1 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p1); repaint(); break; case 1://橡皮 x = (int)e.getX(); y = (int)e.getY(); p1 = new Point(x, y, null, toolFlag, Econ); paintInfo.addElement(p1); repaint(); break; case 3: case 4: case 5: repaint(); break; default : } //repaint(); } public void mousePressed(MouseEvent e) { xx0= (int)e.getX(); yy0= (int)e.getY(); Point p2; switch(toolFlag){ case 3://直线 type=3; x = (int)e.getX(); y = (int)e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; case 4: //圆 type=4; x = (int)e.getX(); y = (int)e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; case 5: //矩形 type=5; x = (int)e.getX(); y = (int)e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; default :type=6; } } public void mouseReleased(MouseEvent e) { Point p3; switch(toolFlag){ case 0: //画笔 paintInfo.addElement(cutflag); break; case 1: //eraser paintInfo.addElement(cutflag); break; case 3: //直线 x = (int)e.getX(); y = (int)e.getY(); p3 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p3); paintInfo.addElement(cutflag); repaint(); break; case 4: //圆 x = (int)e.getX(); y = (int)e.getY(); p3 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p3); paintInfo.addElement(cutflag); repaint(); break; case 5: //矩形 x = (int)e.getX(); y = (int)e.getY(); p3 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p3); paintInfo.addElement(cutflag); repaint(); break; default: } } public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseClicked(MouseEvent e){} public void mouseMoved(MouseEvent e){} public void actionPerformed(ActionEvent e) { if(e.getSource()==pen)//画笔 { toolFlag = 0; } if(e.getSource()==eraser)//橡皮 { toolFlag = 1; } if(e.getSource()==clear)//清除 { toolFlag = 2; paintInfo.removeAllElements(); repaint(); } if(e.getSource()==drLine)//画线 { toolFlag = 3; } if(e.getSource()==drCircle)//画圆 { toolFlag = 4; } if(e.getSource()==drRect)//画矩形 { toolFlag = 5; } if(e.getSource()==colchooser)//调色板 { Color newColor = JColorChooser.showDialog(this,"调色板",c); c = newColor;} } }//end public class houyang { public static void main (String args[]) { new paintboard("画图程序"); } } /* *javac -Xlint:unchecked houyang.java * houyang.java:270: 警告:[unchecked] 对作为普通类型 java.util.Vector 的成员的 add Element(E) 的调用未经检查 paintInfo.addElement(p1); ^ 13 警告 */
发表评论
-
HttpClient各种使用方法
2014-08-27 15:25 1446最近项目中用到了模拟HTTP请求的部分,下面做了一个小整合 ... -
java中BCD编码
2014-08-09 11:20 3462Java中实现的BCD编码,供有兴趣的参考,欢迎批评指正 ... -
Android数据库操作的两种方式
2014-07-10 16:56 1004Android操作数据库分文两种方式,一种是自己写sql脚本 ... -
Apache Ftp Server与spring框架融合
2014-04-01 16:33 6644最近在写一个项目,需要用到FTP服务,就从网上搜了一下,发现 ... -
Apache Ftp Server使用说明
2014-04-01 15:45 677最近公司项目需要一个FTP服务器,就从网上搜了一下发现Apac ... -
编程从业 5 年后的 14 条经验
2013-04-20 14:57 8251. 当性能遇到问题时,如果能在应用层进行计算和处理,那就把 ... -
Spring自己的轻量级定时器的两种实现方式
2013-03-04 19:35 1200Spring自己本身的轻量级 ... -
Java获取当前路径
2013-03-04 12:17 8401、利用System.getProperty()函数获取当 ... -
java udp通信
2012-12-12 11:39 1200java服务器部分: public static vo ... -
java 实现ftp的文件上传和删除
2012-12-01 11:49 17435package com.tw.ftp; impor ... -
java操作FTP,实现文件上传下载删除操作
2012-12-01 11:07 16991上传文件到FTP服务器: ... -
java下载文件的四种方式
2012-11-30 15:30 998try { ... -
模拟HTTPClient发送消息到服务器
2012-07-16 14:36 1018// 存储服务器的响应消息 Stri ... -
两个java web服务间SoapMessage对象的传递
2012-07-14 15:51 1976客户端代码: try { ... -
字符串转换成SoapMessage对象
2012-07-14 15:40 4321下面的代码可以把字符串转换成SoapMessage对象 ... -
SoapMessage对象转换成字符串
2012-07-14 15:36 6402下面的代码可以把一个SoapMessage对象转换成字符串对象 ... -
手动修改和启动在spring配置文件中配置的定时器
2012-07-12 20:50 21241、创建业务处理类 public class Task ... -
手动利用spring提供的quartz创建定时器
2012-07-12 20:41 3019手动创建并启动定时器方法: /** * & ... -
spring定时器的创建和配置
2012-07-12 20:38 68621、创建业务处理类 public class Palp ... -
spring管理日志的例子
2012-05-07 15:32 813Spring 带给我们的另一个好处就是让我们可以“专心做 ...
相关推荐
Java 画图板是使用 Java 语言编写的图形绘制程序,提供了基本的绘图功能,如画笔、直线、椭圆、矩形等,用户可以使用该程序绘制简单的图形。下面我们将对 Java 画图板程序进行详细的分析和解释。 1. Java 画图板...
在本示例中,"java-huaturuanjian.zip" 包含了一个Java编写的画图程序,允许用户进行画笔操作、绘制直线、圆、矩形和多边形,以及使用橡皮擦进行擦除。这个程序还具有调整画笔和橡皮擦大小的功能,并且可以显示颜色...
标题中的"pb.rar_Pb画图_java画笔_pb_pb 画图_画笔程序"表明这是一个基于Java编程语言实现的图形界面(GUI)应用程序,主要用于画图操作,它可能使用了Pb(可能是Paintbrush或其他类似命名的库或框架)来提供画笔、...
标签“java画图程序”,“java画图”,“画图”,“画图_java”进一步强调了主题,这些都是与Java图形编程相关的关键词。 在压缩包的文件列表中,“www.pudn.com.txt”可能是一个链接或者说明文件,来自pudn.com...
为了提供类似Windows画图板的橡皮擦功能,Java画图板应用可能实现了两种模式:一种是使用特定的橡皮擦工具,另一种是将画笔颜色设置为背景色,从而达到擦除的效果。此外,添加形状绘制功能,如矩形、圆形和多边形,...
【Java画图板系统】是一个基于Java编程语言开发的图形用户界面(GUI)应用程序,它允许用户在屏幕上绘制图形和图像。这个系统可能是为教育、设计或者简单的绘图练习而设计的,它提供了基本的绘图工具,如选择颜色、...
Java 画图程序是一种利用Java编程语言开发的图形用户界面(GUI)应用程序,它允许用户在屏幕上绘制图形、线条和形状。在这个程序中,我们关注的焦点是多窗体、多种画笔、橡皮擦功能以及文件保存和图片处理。 1. **...
标题中的"pb.rar_java 画图板_java画图_pb 画图_图形学_画图 java"表明这是一个关于Java编程的项目,特别是涉及到图形绘制功能的实现。"pb.rar"可能是一个压缩文件,包含了实现画图功能的Java源代码和其他相关资源。...
在Java编程语言中,实现一个简单的Windows画图板是一个经典的练习,它可以帮助初学者更好地理解图形用户界面(GUI)的设计以及事件处理机制。这个项目通常会涉及到Java的Swing库,这是一个用于创建桌面应用程序的GUI...
Java画图程序是一种基于Java编程语言开发的图形用户界面(GUI)应用,它允许程序员创建和展示各种图形。在这个特定的“java画图程序(附源码).rar”压缩包中,包含了实现画图功能的源代码,使得学习者或开发者能够...
Java开发的画图工具源码,IDEA工具 在编程世界中,可视化工具是不可或缺的一部分,它们可以帮助开发者更直观地创建、编辑和理解复杂的图形结构。JHotDraw是一款基于Java的开源画图工具,它提供了丰富的图形绘制和...
Java画图程序是一种基于Java编程语言开发的图形用户界面(GUI)应用,它允许程序员创建、编辑和保存各种图形,包括直线、矩形和圆等基本形状。在Java中实现这样的功能,主要依赖于Java的AWT(Abstract Window ...
Java画图工具源代码分析 Java作为一种面向对象的编程语言,具有丰富的图形用户界面(GUI)库,使得开发画图工具变得相对简单。本篇将深入解析标题为"java画图工具的源代码"的项目,它展示了如何利用Java语言构建一...
在Java编程语言中,开发一个“多功能画笔”应用程序涉及到许多关键知识点,这些知识点涵盖了图形用户界面(GUI)设计、事件处理、图形绘制以及可能的数据存储。以下是对这些概念的详细解释: 1. **Swing 和 AWT ...
java画图工具(draw) 有源代码 可以画多种图形
在这个名为“VB开发的简易画图程序,可设置画笔粗细及颜色.rar”的压缩包中,我们将会探讨一个利用VB开发的简易画图应用程序。这个程序不仅允许用户绘制各种图形,如矩形、圆形和直线,还提供了调整画笔颜色和粗细的...
Java画图程序 本文档将对Java画图程序进行详细的解释,涵盖了三角形、线、圆、矩形等图形的绘制。 图形类的设计 在Java画图程序中,所有图形类都继承自抽象类`Shape`。抽象类`Shape`定义了抽象方法`draw(Graphics...
《Java画图板》是一款基于Java语言开发的简易图形绘制软件,旨在满足日常生活和学习中的基本绘图需求。软件由菜单栏、工具栏和画图区三大部分组成,提供了丰富的功能,使用户能够方便快捷地进行图形创作。 1. **...
"Tra.rar_Java3d图形旋转_java 3d_画图_画图 java_画图_旋转"这个主题主要涉及使用Java 3D进行图形绘制和旋转的操作。在这个基本的Java 3D程序中,我们可以理解以下几个关键知识点: 1. **Java 3D库**:Java 3D是...