• 大小: 159KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-14
  • 语言: Java
  • 标签: Java  绘图板  

资源简介

一个用Java的swing包中的类实现的画图板的小型应用程序,实现了直线、矩形等图形的绘制效果。

资源截图

代码片段和文件信息

package drawing;

import java.awt.*;
import java.io.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Graphics;


abstract class DrawShape implements Serializable
{
 protected int x1y1;                     //图形区域的起始点坐标
 protected int x2y2;                     //图形区域的终点坐标
 protected Color lineColor;               //图形的画线颜色
 protected Color paintColor;              //图形的填充颜色
 protected int graphicstyle;              //图形的类型
 protected boolean forever;               //是否为永久图形
 protected Rectangle rect = new Rectangle();   //设置图形区域
 
 //方法
 public DrawShape(int xint y)
 {   
   this.setLineColor(Color.BLACK);
   this.setPaintColor(null);
   this.x1 = x;
   this.y1 = y;
   x2 = x1;
   y2 = y1;
   //this.setGraphicstyle(GraphicsOps.DRAW_NONE);
 }
   
 //绘制图形
 //参数g表明图形上下文,filled表明是否进行填充    
 abstract public void draw(Graphics g);
  
 //获得画线颜色
 public Color getLineColor()
 {
     return lineColor;
  }
 
 //获得填充色                      
 public Color getPaintColor()
 {
     return paintColor;
  }
 
 //设置画线颜色
 public void setLineColor(Color lineColor)
 {
     this.lineColor = lineColor;
  }
 
 //设置填充色
 public void setPaintColor(Color paintColor)
 {
     this.paintColor = paintColor;
  }
 
 //设置图形类型
 public void setGraphicstyle(int shapeGraphic)
 {
     this.graphicstyle = shapeGraphic;
  }
 
 //设置图形为永久图形
 public void setForever(boolean b)
 {
     forever = b;
  }
 
 //判断图形是否为永久图形
 public boolean isForever()
 {
    return forever;
  }
 
 //设置图形的起点
 public void setStart(int xint y)
 {
    this.x1 = x;
    this.y1 = y;
  }
 
 //设置图形的终点
 public void setEnd(int xint y)
 {
    this.x2 = x;
    this.y2 = y;
  }
 
 //得到起点坐标
 public Point getStart()
 {
   return new Point(x1y1);
 }
 
 //得到图形的区域边界
 public Rectangle getBoundingBox()
 {
     rect.width = x2>x1 ? x2-x1 : x1-x2;
     rect.height = y2>y1 ? y2-y1 : y1 - y2;
     rect.x = x1      rect.y = y1      
     return rect;
  }
}

                         /************************
                         *                        
                         * 定义绘制2D平面图形的类
                         *
                         *************************/
             

//定义画直线的类
class DrawLine extends DrawShape
{  
 //构造函数
 public DrawLine(int xint y)
 {
     super(xy);
     
     this.setGraphicstyle(GraphicsOps.DRAW_LINE);
  }
 //绘图函数
 public void draw(Graphics g)
 {
     g.setColor(lineColor);
      g.drawLine(x1y1x2y2);
 }
   

}

//定义画矩形的类
class DrawRect extends DrawShape
{
  public DrawRect(int x int y)
  {
      super(xy);
      this.setGraphicstyle(GraphicsOps.DRAW_RECT);
        
  }
  
  public void draw(Graphics g)
  {
    int width = x1     int height = y1

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      25271  2006-08-12 15:23  2D-Graphics\MainMenuBar.java

     文件       7218  2006-08-12 15:15  2D-Graphics\MainToolBar.java

     文件       6971  2006-08-11 10:41  2D-Graphics\Mainframe.java

     文件        556  2006-08-07 15:57  2D-Graphics\Graphics.java

     文件       8670  2006-08-12 14:31  2D-Graphics\Interframe.java

     文件       8784  2006-08-12 14:09  2D-Graphics\ToolBox.java

     文件       6247  2006-08-11 19:46  2D-Graphics\DrawGraphics.java

     文件      16978  2006-08-12 11:52  2D-Graphics\GraphicShapeIcon.java

     文件      44911  2006-08-21 08:04  2D-Graphics\Graphics.jar

     文件        838  2006-08-12 15:23  2D-Graphics\drawing\Graphics.class

     文件       2714  2006-08-12 15:23  2D-Graphics\drawing\GraphicsPane.class

     文件       1213  2006-08-12 15:23  2D-Graphics\drawing\Mainframe.class

     文件       7277  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar.class

     文件       2196  2006-08-12 15:23  2D-Graphics\drawing\MainToolBar.class

     文件       2248  2006-08-12 15:23  2D-Graphics\drawing\ToolBarAction.class

     文件       4699  2006-08-12 15:23  2D-Graphics\drawing\Interframe.class

     文件       1180  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$1.class

     文件        591  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$2.class

     文件        725  2006-07-29 09:59  2D-Graphics\drawing\MainToolBar$ToolBarAction.class

     文件       1076  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$3.class

     文件       1077  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$4.class

     文件        856  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$5.class

     文件        860  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$6.class

     文件        852  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$7.class

     文件       3588  2006-08-12 15:23  2D-Graphics\drawing\ToolBox.class

     文件       1016  2006-08-02 08:53  2D-Graphics\drawing\TabbedPages.class

     文件        635  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$8.class

     文件        640  2006-08-12 15:23  2D-Graphics\drawing\MainMenuBar$9.class

     文件       1777  2006-08-12 15:23  2D-Graphics\drawing\DrawShape.class

     文件        564  2006-08-12 15:23  2D-Graphics\drawing\DrawLine.class

............此处省略64个文件信息

评论

共有 条评论