首页 > 学院 > 开发设计 > 正文

JAVA小画板(应用程序)

2019-11-18 14:37:02
字体:
来源:转载
供稿:网友
 04年接触了一段时间的java,期间写了比较多小程序段,写得最完整的就是这个JAVA小画板程序,涉及到鼠标事件、画图函数、文件流、文件的打开与保存等内容。

//powered by compower
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.*;
import java.awt.geom.*;
import java.io.*;

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 Frame 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;


// *工具面板--画笔,直线,圆,矩形,多边形,橡皮,清除*/
 Panel 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 Panel();



发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表