資源簡(jiǎn)介
一個(gè)用Java的swing包中的類實(shí)現(xiàn)的畫圖板的小型應(yīng)用程序,實(shí)現(xiàn)了直線、矩形等圖形的繪制效果。

代碼片段和文件信息
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;?????????????????????//圖形區(qū)域的起始點(diǎn)坐標(biāo)
?protected?int?x2y2;?????????????????????//圖形區(qū)域的終點(diǎn)坐標(biāo)
?protected?Color?lineColor;???????????????//圖形的畫線顏色
?protected?Color?paintColor;??????????????//圖形的填充顏色
?protected?int?graphicstyle;??????????????//圖形的類型
?protected?boolean?forever;???????????????//是否為永久圖形
?protected?Rectangle?rect?=?new?Rectangle();???//設(shè)置圖形區(qū)域
?
?//方法
?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);
?}
? ?
?//繪制圖形
?//參數(shù)g表明圖形上下文,filled表明是否進(jìn)行填充????
?abstract?public?void?draw(Graphics?g);
??
?//獲得畫線顏色
?public?Color?getLineColor()
?{
? ???return?lineColor;
? }
?
?//獲得填充色??????????????????????
?public?Color?getPaintColor()
?{
? ???return?paintColor;
? }
?
?//設(shè)置畫線顏色
?public?void?setLineColor(Color?lineColor)
?{
? ???this.lineColor?=?lineColor;
? }
?
?//設(shè)置填充色
?public?void?setPaintColor(Color?paintColor)
?{
? ???this.paintColor?=?paintColor;
? }
?
?//設(shè)置圖形類型
?public?void?setGraphicstyle(int?shapeGraphic)
?{
? ???this.graphicstyle?=?shapeGraphic;
? }
?
?//設(shè)置圖形為永久圖形
?public?void?setForever(boolean?b)
?{
? ???forever?=?b;
? }
?
?//判斷圖形是否為永久圖形
?public?boolean?isForever()
?{
? ??return?forever;
? }
?
?//設(shè)置圖形的起點(diǎn)
?public?void?setStart(int?xint?y)
?{
? ??this.x1?=?x;
? ??this.y1?=?y;
? }
?
?//設(shè)置圖形的終點(diǎn)
?public?void?setEnd(int?xint?y)
?{
? ??this.x2?=?x;
? ??this.y2?=?y;
? }
?
?//得到起點(diǎn)坐標(biāo)
?public?Point?getStart()
?{
? ?return?new?Point(x1y1);
?}
?
?//得到圖形的區(qū)域邊界
?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
{??
?//構(gòu)造函數(shù)
?public?DrawLine(int?xint?y)
?{
? ???super(xy);
? ???
? ???this.setGraphicstyle(GraphicsOps.DRAW_LINE);
? }
?//繪圖函數(shù)
?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
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件??????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\Mainfr
?????文件????????556??2006-08-07?15:57??2D-Graphics\Graphics.java
?????文件???????8670??2006-08-12?14:31??2D-Graphics\Interfr
?????文件???????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\Mainfr
?????文件???????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\Interfr
?????文件???????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個(gè)文件信息
評(píng)論
共有 條評(píng)論