JAVA实验报告简单绘图程序Word格式.docx

上传人:b****2 文档编号:6084963 上传时间:2023-05-06 格式:DOCX 页数:16 大小:17.78KB
下载 相关 举报
JAVA实验报告简单绘图程序Word格式.docx_第1页
第1页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第2页
第2页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第3页
第3页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第4页
第4页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第5页
第5页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第6页
第6页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第7页
第7页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第8页
第8页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第9页
第9页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第10页
第10页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第11页
第11页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第12页
第12页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第13页
第13页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第14页
第14页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第15页
第15页 / 共16页
JAVA实验报告简单绘图程序Word格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

JAVA实验报告简单绘图程序Word格式.docx

《JAVA实验报告简单绘图程序Word格式.docx》由会员分享,可在线阅读,更多相关《JAVA实验报告简单绘图程序Word格式.docx(16页珍藏版)》请在冰点文库上搜索。

JAVA实验报告简单绘图程序Word格式.docx

JToolBartool=newWinToolBar((windowsPaint)paintWin);

tool.setBounds(0,0,1000,30);

tool.setVisible(true);

JFrameframe=newJFrame();

frame.setLayout(null);

frame.setVisible(true);

frame.setBounds(0,0,1000,1000);

frame.add(tool);

frame.add(paintWin);

}

}

test.java

importjava.awt.GradientPaint;

importjava.lang.reflect.Constructor;

importbase.GrapicsElem;

importbase.Rect;

publicclasstestfractor{

/**

*@throwsClassNotFoundException

publicstaticvoidmain(String[]args)throwsClassNotFoundException{

GrapicsElemGe=newRect();

System.out.println(Ge.getClass().getName());

Class<

?

>

demo1=null;

Class<

demo2=null;

Class<

demo3=null;

try{

//一般尽量采用这种形式

demo1=Class.forName("

base.Rect"

con=demo1.getSuperclass();

System.out.println(con.getName());

demo2=Class.forName("

base.GrapicsElem"

suns[]=demo2.getInterfaces();

for(inti=0;

i<

suns.length;

i++){

System.out.println(suns[i].getName());

}

System.out.println(con.length);

//GrapicsElemgg=(GrapicsElem)con[0].newInstance();

System.out.println(con[0]);

System.out.println(con[1]);

System.out.println(con[2]);

}catch(Exceptione){

e.printStackTrace();

}

demo2=newRect().getClass();

demo3=Rect.class;

System.out.println("

类名称"

+demo1.getName());

+demo2.getName());

+demo3.getName());

GrapicsElem.java

packagebase;

importjava.awt.Color;

importjava.awt.Graphics;

importjava.awt.Point;

publicabstractclassGrapicsElem{

Pointstart;

Pointend;

privateColorcolor;

publicColorgetColor(){

returncolor;

publicvoidsetColor(Colorcolor){

this.color=color;

publicvoidsetStart(Pointstart){

this.start=start;

publicvoidsetEnd(Pointend){

this.end=end;

publicabstractvoiddoMousePress(Pointp);

publicabstractvoiddoMouseDrag(Pointp);

publicabstractvoiddoMouseRelease(Pointp);

publicabstractvoiddraw(Graphicsg);

Line.java

importjava.util.ArrayList;

publicclassLineextendsGrapicsElem{

ArrayList<

Point>

track;

publicLine(){

track=newArrayList<

();

@Override

publicvoiddraw(Graphicsg){

track.size()-1;

Pointcur=track.get(i);

Pointnext=track.get(i+1);

g.drawLine(cur.x,cur.y,next.x,next.y);

privatevoidAddPoint(Pointp){

track.add(p);

publicvoiddoMousePress(Pointp){

AddPoint(p);

publicvoiddoMouseDrag(Pointp){

publicvoiddoMouseRelease(Pointp){

Rect.java

publicclassRectextendsGrapicsElem{

intx,y,width,height;

g.drawRect(getX(),getY(),getWidth(),getHeight());

super.setStart(p);

super.setEnd(p);

publicintgetX(){

returnMath.min(start.x,end.x);

publicintgetY(){

returnMath.min(start.y,end.y);

publicintgetWidth(){

returnMath.abs(start.x-end.x);

publicintgetHeight(){

returnMath.abs(start.y-end.y);

Circle.java

publicclassCircleextendsRect{

g.drawOval(getX(),getY(),getWidth(),getHeight());

windowsPaint.java

packagewinpaint;

importjava.awt.BasicStroke;

importjava.awt.Button;

importjava.awt.Font;

importjava.awt.Graphics2D;

importjava.awt.Image;

importjava.awt.event.ActionEvent;

importjava.awt.event.MouseEvent;

importjava.awt.event.MouseListener;

importjava.awt.event.MouseMotionListener;

importjava.io.File;

importjava.io.IOException;

importjava.nio.Buffer;

importjava.util.BitSet;

importjava.util.List;

importjava.awt.geom.*;

importjava.awt.image.BufferedImage;

importjavax.imageio.ImageIO;

importjavax.swing.ImageIcon;

importjavax.swing.JLabel;

importbase.Circle;

importbase.Line;

publicclasswindowsPaintextendsJPanel

implementsMouseListener,MouseMotionListener

{

Stringcommand="

矩形"

;

List<

GrapicsElem>

Lg=newArrayList();

GrapicsElemcur;

JLabellabel;

publicwindowsPaint(Stringtitle){

init();

privatevoidinit(){

addMouseListener(this);

addMouseMotionListener(this);

}

/**

*可以使用反射去掉判断语句、

*Class<

g=Class.forName("

*g.newInstance();

*@return

*/

privateGrapicsElemnewInstance(){

command=WinToolBar.Command;

if(command.equals("

)){

returnnewRect();

}elseif(command.equals("

圆形"

returnnewCircle();

线"

returnnewLine();

}

returnnull;

@Override

publicvoidpaint(Graphicsg){

//TODOAuto-generatedmethodstub

super.paint(g);

Graphics2Dg2d=(Graphics2D)g;

//g2d.setColor(cur.getColor());

//System.out.println(cur.getColor());

g2d.setStroke(newBasicStroke(10.0f));

for(inti=0;

Lg.size();

GrapicsElemge=Lg.get(i);

ge.draw(g);

//@Override

//publicvoidrepaint(){

////TODOAuto-generatedmethodstub

////TODOAuto-generatedmethodstub

////

//super.repaint();

////Threadthread=newThread(newRunnable(){

////@Override

////publicvoidrun(){

//////TODOAuto-generatedmethodstub

////try{

////SaveToFile();

////}catch(IOExceptione){

//////TODOAuto-generatedcatchblock

////e.printStackTrace();

////}

////}

////});

////thread.start();

////

////ImageIconbg=newImageIcon("

tmp.jpg"

////if(bg!

=null){

////if(label!

=null)

////this.remove(label);

////label=newJLabel(bg);

////label.setBounds(0,0,bg.getIconWidth(),bg.getIconHeight());

////this.add(label);

////super.repaint();

////}

////

//}

privatevoidSaveToFile()throwsIOException{

BufferedImagebimg=newBufferedImage(this.getWidth(),this.getHeight(),BufferedImage.TYPE_3BYTE_BGR);

Graphics2Dg2d=bimg.createGraphics();

this.paint(g2d);

ImageIO.write(bimg,"

jpg"

newFile("

));

publicvoidmousePressed(MouseEvente){

Pointp=newPoint(e.getX(),e.getY());

cur=newInstance();

cur.doMousePress(p);

Lg.add(cur);

publicvoidmouseDragged(MouseEvente){

cur.doMouseDrag(p);

repaint();

publicvoidmouseReleased(MouseEvente){

cur.doMouseRelease(p);

publicvoidmouseMoved(MouseEvente){

publicvoidmouseClicked(MouseEvente){

publicvoidmouseEntered(MouseEvente){

publicvoidmouseExited(MouseEvente){

WinToolBar.java

importjava.awt.event.ItemEvent;

importjava.awt.event.ItemListener;

importjavax.swing.JComboBox;

importjavax.swing.JSeparator;

publicclassWinToolBarextendsJToolBarimplementsActionListener{

publicstaticStringCommand="

JButtonbtn1,btn2,btn3;

//windowsPaintwinp;

publicWinToolBar(windowsPaintwinP){

btn1=newJButton("

btn2=newJButton("

btn3=newJButton("

this.add(btn1);

this.add(btn2);

this.add(btn3);

btn1.addActionListener((ActionListener)this);

btn2.addActionListener((ActionListener)this);

btn3.addActionListener((ActionListener)this);

//this.winp=winP;

JComboBoxcom=newJComboBox();

com.addItem("

红色"

蓝色"

黑色"

com.addItemListener(newItemListener(){

@Override

publicvoiditemStateChanged(ItemEvente){

//TODOAuto-gen

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2