- 浏览: 477693 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
谢谢你的祝福:
特地登陆上来感谢一下楼主,解决问题。
ORA-04098: 触发器无效且未通过重新验证问题 -
fuqiangjava:
写的不错 解决了自己的一个问题 谢谢了
ORA-00001:unique constraint (oracle 10g) -
hujinhuhujinhu:
make ...我有1.6.23
MyEclipse6.5安装自动提示功能的jQuery插件步骤 -
fool2011:
学习下,博主
JFreeChart类生成折线图的Java源代码 -
814687491:
你不是说的JQUERY吗?
MyEclipse6.5安装自动提示功能的jQuery插件步骤
import java.applet.*; import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import java.awt.geom.*; import java.io.*; public class DrawLine { public static void main(String args[]) { new paintboard("画图程序"); } } class Point implements Serializable { 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; } } class paintboard extends JFrame implements ActionListener, MouseMotionListener, MouseListener, ItemListener { 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; FileInputStream picIn = null; FileOutputStream picOut = null; ObjectInputStream VIn = null; ObjectOutputStream VOut = null; // *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/ JPanel toolPanel; Button eraser, drLine, drCircle, drRect; Button clear, pen; Choice ColChoice, SizeChoice, EraserChoice; Button colchooser; Label 颜色, 大小B, 大小E; // 保存功能 Button openPic, savePic; FileDialog openPicture, savePicture; paintboard(String s) { super(s); addMouseMotionListener(this); addMouseListener(this); paintInfo = new Vector(); /* 各工具按钮及选择项 */ // 颜色选择 ColChoice = new Choice(); //颜色选择下拉列表框 ColChoice.add("black"); ColChoice.add("red"); ColChoice.add("blue"); ColChoice.add("green"); 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("5"); EraserChoice.add("9"); EraserChoice.add("13"); EraserChoice.add("17"); EraserChoice.addItemListener(this); // ////////////////////////////////////////////////// toolPanel = new JPanel(); clear = new Button("清除"); eraser = new Button("橡皮"); pen = new Button("画笔"); drLine = new Button("画直线"); drCircle = new Button("画圆形"); drRect = new Button("画矩形"); openPic = new Button("打开图画"); savePic = new Button("保存图画"); colchooser = new Button("显示调色板"); // 各组件事件监听 clear.addActionListener(this); eraser.addActionListener(this); pen.addActionListener(this); drLine.addActionListener(this); drCircle.addActionListener(this); drRect.addActionListener(this); openPic.addActionListener(this); savePic.addActionListener(this); colchooser.addActionListener(this); 颜色 = new Label("画笔颜色", Label.CENTER); 大小B = new Label("画笔大小", Label.CENTER); 大小E = new Label("橡皮大小", Label.CENTER); // 面板添加组件 toolPanel.add(openPic); toolPanel.add(savePic); 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); add(toolPanel, BorderLayout.NORTH); //工具面板到APPLET面板 setBounds(60, 60, 900, 600); setVisible(true); validate(); //---------------------文件打开对话框------------------------------------ openPicture = new FileDialog(this, "打开图画", FileDialog.LOAD); openPicture.setVisible(false); savePicture = new FileDialog(this, "保存图画", FileDialog.SAVE); savePicture.setVisible(false); openPicture.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { openPicture.setVisible(false); } }); savePicture.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { savePicture.setVisible(false); } }); //---------------------文件打开对话框-----------结束------------------------- 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(); //点信息向量Vec if (toolFlag == 2) //清除按钮 { g.clearRect(0, 0, getSize().width, getSize().height); // 清除 } 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: }// end switch }// end if }// end for } public void itemStateChanged(ItemEvent e) { if (e.getSource() == ColChoice)// 预选颜色 { String name = ColChoice.getSelectedItem(); if (name == "black") { c = new Color(0, 0, 0); } else if (name == "red") { c = new Color(255, 0, 0); } else if (name == "green") { c = new Color(0, 255, 0); } else if (name == "blue") { c = new Color(0, 0, 255); } } else if (e.getSource() == SizeChoice)// 画笔大小 { String selected = SizeChoice.getSelectedItem(); if (selected == "1") { con = 1; } else if (selected == "3") { con = 3; } else if (selected == "5") { con = 5; } else if (selected == "7") { con = 7; } 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 == "5") { Econ = 5 * 2; } else if (Esize == "9") { Econ = 9 * 2; } else if (Esize == "13") { Econ = 13 * 2; } else if (Esize == "17") { Econ = 17 * 3; } } } public void mouseDragged(MouseEvent e) { 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; default: } } public void mouseMoved(MouseEvent e) { } public void update(Graphics g) { paint(g); } public void mousePressed(MouseEvent e) { Point p2; switch (toolFlag) { case 3:// 直线 x = (int) e.getX(); y = (int) e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; case 4: // 圆 x = (int) e.getX(); y = (int) e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; case 5: // 矩形 x = (int) e.getX(); y = (int) e.getY(); p2 = new Point(x, y, c, toolFlag, con); paintInfo.addElement(p2); break; default: } } 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 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; } if (e.getSource() == openPic)// 打开图画 { openPicture.setVisible(true); if (openPicture.getFile() != null) { int tempflag; tempflag = toolFlag; toolFlag = 2; repaint(); try { paintInfo.removeAllElements(); File filein = new File(openPicture.getDirectory(), openPicture.getFile()); picIn = new FileInputStream(filein); VIn = new ObjectInputStream(picIn); paintInfo = (Vector) VIn.readObject(); VIn.close(); repaint(); toolFlag = tempflag; } catch (ClassNotFoundException IOe2) { repaint(); toolFlag = tempflag; System.out.println("can not read object"); } catch (IOException IOe) { repaint(); toolFlag = tempflag; System.out.println("can not read file"); } } } if (e.getSource() == savePic)//保存图画 { savePicture.setVisible(true); try { File fileout = new File(savePicture.getDirectory(), savePicture .getFile()); picOut = new FileOutputStream(fileout); VOut = new ObjectOutputStream(picOut); VOut.writeObject(paintInfo); VOut.close(); } catch (IOException IOe) { System.out.println("can not write object"); } } } }//end paintboard
发表评论
-
Applet画图修改中。。。
2010-01-13 21:00 2362效果如下图: import java.applet.A ... -
Applet画图程序
2010-01-11 14:18 1768双击右键才显示功能菜单。。。 import java ... -
Applet打印
2009-11-23 15:56 2084效果如上图: import java.awt.*; i ... -
applet数字签名实践篇三(转载)
2009-11-17 18:56 2094最近在研究applet,打算使用applet来开发一个上传文件 ... -
applet数字签名实践篇二(转载)
2009-11-17 18:45 1370【摘 要】如果你要考虑在Internet上实现这个Applet ... -
applet数字签名实践篇一(转载)
2009-11-17 18:44 1577本人在报表开发之时, ... -
Applet与Servlet通信
2009-11-13 17:42 1214在今天的多层结构的web应用程序的设计中,我们可以同时使用Ja ... -
使用 Java applet 访问远程 Web 服务
2009-11-13 10:35 1939通过浏览器提交、接收和分析 XML Web 服务消息 ... -
利用Applet进行Web打印
2009-11-07 17:45 1985一web打印常见方法: 1,一种简单的方法是在html上调用w ... -
applet应用小技巧
2009-11-06 13:29 10611。获取屏幕分辩率的宽和高: int width=To ... -
applet图像的处理
2009-11-03 16:08 2087设置呈现(RenderingHints)提示 8.2 ... -
applet绘制纹理图
2009-11-03 16:04 1174其效果如下图: import java.applet.*; ... -
applet中保存canvas中的图片
2009-11-02 15:36 1635效果图如下: import java.awt.*; ... -
applet画图板程序
2009-10-27 17:00 2079import java.applet.Applet; imp ... -
applet的简单流程图绘制小工具
2009-10-27 16:58 1944使用说明如下: 1.在主区域的上面有一个写有"dr ... -
applet图形缩放类
2009-10-24 20:11 1334import java.awt.Image; import ... -
applet文字和图标的合成
2009-10-24 17:43 1651相信大家平时碰到过一些在JAVA中对图像进行处理的需求,比如需 ... -
运行applet时出现无法载入class的问题,以及设置codeBase
2009-08-13 17:57 2402最简单的方法就是:把它们放在同一个目录就不用设置啦。。。,但是 ... -
IE中Applet不能运行的问题
2009-08-13 17:49 2178applet程序正常没问题,在Html页面中的设置也没问题,只 ... -
Applet 双缓冲技术
2009-07-23 17:32 1569import java.applet.Applet; imp ...
相关推荐
Java Applet是Java技术早期的一种应用形式,主要用于在Web浏览器中执行小应用程序,例如我们的“简易画图程序”。这个程序提供了基本的图形绘制功能,帮助用户理解和实践Java事件处理机制。下面将详细介绍Java ...
一个Applet程序,通过鼠标监听实现鼠标随笔画线 没多大技术含量,比较简单
在这个特定的项目中,"Java Applet 设计的画图程序" 是一个基于Java编程语言实现的简单画图应用,它允许用户在浏览器环境下进行图形绘制。这个程序非常适合初学者了解Applet的工作原理以及如何利用Java的图形库来...
这个界面允许用户绘制直线、椭圆、矩形以及曲线,并且可以自定义颜色和画笔的大小,提供了一种丰富的图形绘制功能。 首先,我们需要了解Applet的基本概念。Applet是Java小应用程序,它是Java类的一个实例,可以通过...
这个小程序是我自己搞的,能参数化的绘制椭圆,长方形,以及鼠标绘制多边形,有兴趣的可以研究研究,如果有什么新的思路,留言给我,以后会改进的,
Applet是一种Java小程序,常用于网页中以提供交互式的功能,比如画图。在这个特定的场景下,"Applet画图,上传"涉及到的技术点主要包括Java Applet的基础使用、图形绘制以及文件上传。 首先,我们需要了解Java ...
**Applet**是一种可以在浏览器中运行的小型Java应用程序,常用于Web页面中的交互式功能。随着技术的发展,Applet逐渐被更现代的技术如JavaFX所替代,但在学习早期Java编程时,Applet仍是一个重要的概念。 **动画**...
Java Applet是Java技术在早期Web开发中的一种应用方式,它允许开发者创建可以在浏览器中运行的小型应用程序。在这个“简单的java applet图像移动重画实例”中,我们将深入探讨Java Applet的基础知识,以及如何实现...
Java Applet 是一种早期的Java技术,用于在Web浏览器中嵌入和运行小应用程序,比如游戏、互动媒体等。在这个“java applet 挖宝小程序”中,我们看到的是一个简单的游戏应用,用户可以通过键盘的上下左右方向键来...
总的来说,这个Applet程序结合了Java的图形编程、事件处理和用户交互,提供了一种创新的方式让用户在网页上进行图形创作。通过理解和实现这样的程序,开发者可以深入掌握Java GUI编程,尤其是Applet的相关技术和设计...
《基于Java的Applet钢琴模拟程序源码解析》 在计算机编程领域,Java语言以其跨平台、面向对象的特性,广泛应用于各种应用开发,其中包括Web应用程序。本篇将深入探讨一个基于Java的特殊应用——Applet钢琴模拟程序...
在Java编程语言中,Applet是一种特殊的Java程序,它可以在Web浏览器中运行,为用户提供交互式的体验。在本示例中,我们将探讨如何利用Applet来绘制正弦函数sin(x)的图形。这个过程涉及到Java图形处理、数学计算以及...
这是我写的一个简陋的画图版.里面还有很多可以改进的地方,简化版方便大家参考.
Java Applet是Java平台早期的一种技术,用于在Web浏览器中执行小程序,比如显示交互式的图形、游戏等。在这个"最简单的java applet图像移动重画实例"中,我们将深入探讨如何利用Java Applet来实现一个动态移动的图像...
本示例是一个简单的Applet小程序,通过线程来实现动态地在Applet窗口中随机画圆。 首先,我们需要了解Applet的基本概念。Applet是Java类库中的`java.applet.Applet`类或其子类的实例,它可以在支持Java的Web浏览器...
基于java的开发源码-Applet钢琴模拟程序源码.zip 基于java的开发源码-Applet钢琴模拟程序源码.zip 基于java的开发源码-Applet钢琴模拟程序源码.zip 基于java的开发源码-Applet钢琴模拟程序源码.zip 基于java的开发...
Java Applet是Java技术在Web浏览器中运行的一种小程序,它为网页添加了交互性和动态性。本教程将探讨如何在Java Applet中实现动画效果,让网页内容更加生动有趣。 首先,理解动画的基本原理至关重要。动画是通过...
### JAVA程序设计语言Applet应用程序知识点详解 #### 1. Java程序分类 Java程序主要分为两类:Java Application 和 Java Applet。 - **Java Application**:这类程序是独立运行的Java程序,通常具备`main`方法作为...
【Applet钢琴模拟程序】是一种基于Java Applet技术的音乐创作工具,它允许用户通过图形用户界面模拟演奏钢琴,甚至进行简单的音乐编辑。在Java编程领域,Applet是一种嵌入到网页中的小型Java程序,可以为用户提供...
Applet图片扫描程序是一种基于Java Web的技术,用于在网页中实现图像的扫描和展示功能。Applet是Java的一种特殊类型的应用程序,它可以在用户的Web浏览器中运行,为用户提供交互式的体验,比如处理图像、视频或者...