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

上传人:b****3 文档编号:27148744 上传时间:2023-06-27 格式:DOCX 页数:12 大小:16.22KB
下载 相关 举报
JAVA实验报告简单绘图程序.docx_第1页
第1页 / 共12页
JAVA实验报告简单绘图程序.docx_第2页
第2页 / 共12页
JAVA实验报告简单绘图程序.docx_第3页
第3页 / 共12页
JAVA实验报告简单绘图程序.docx_第4页
第4页 / 共12页
JAVA实验报告简单绘图程序.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

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

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

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

JAVA实验报告简单绘图程序

实验三绘制图形

一、实验目的

学会JButton的使用,能进行JButton的基本操作,能使用JButton构造一个图形界面框架通过实验熟悉swing图形用户界面程序设计熟悉java中的事件处理模型,每个事件动作代表的意义进一步提高编程能力,学会独立思考,学会上网查找资料决问题。

二、实验内容

设计一个程序,该程序能够绘制基本的图形(包括圆形、矩形、直线等);要求有一个简单易操作的用户界面(包括菜单、按钮等组件)。

编写的程序要求能够实现保存和读取的功能。

三、实验代码

import;

import;

import;

import

import

import

import;

import;

publicclassMain{

/**

*@paramargs

*/

publicstaticvoidmain(String[]args){

ewInstance();

con[0]);

con[1]);

con[2]);

}catch(Exceptione){

();

}

demo2=newRect().getClass();

demo3=;

}

}

packagebase;

import

import

import

publicabstractclassGrapicsElem{

Pointstart;

Pointend;

privateColorcolor;

publicColorgetColor(){

returncolor;

}

publicvoidsetColor(Colorcolor){

=color;

}

publicvoidsetStart(Pointstart){

=start;

}

publicvoidsetEnd(Pointend){

=end;

}

publicabstractvoiddoMousePress(Pointp);

publicabstractvoiddoMouseDrag(Pointp);

publicabstractvoiddoMouseRelease(Pointp);

publicabstractvoiddraw(Graphicsg);

}

packagebase;

import

import

import

publicclassLineextendsGrapicsElem{

ArrayListtrack;

publicLine(){

track=newArrayList();

}

@Override

publicvoiddraw(Graphicsg){

for(inti=0;i<()-1;i++){

Pointcur=(i);

Pointnext=(i+1);

,,;

}

}

privatevoidAddPoint(Pointp){

(p);

}

@Override

publicvoiddoMousePress(Pointp){

//TODOAuto-generatedmethodstub

AddPoint(p);

}

@Override

publicvoiddoMouseDrag(Pointp){

//TODOAuto-generatedmethodstub

AddPoint(p);

}

@Override

publicvoiddoMouseRelease(Pointp){

//TODOAuto-generatedmethodstub

AddPoint(p);

}

}

packagebase;

import

import

publicclassRectextendsGrapicsElem{

intx,y,width,height;

@Override

publicvoiddraw(Graphicsg){

//TODOAuto-generatedmethodstub

(getX(),getY(),getWidth(),getHeight());

}

@Override

publicvoiddoMousePress(Pointp){

(p);

(p);

}

@Override

publicvoiddoMouseDrag(Pointp){

(p);

}

@Override

publicvoiddoMouseRelease(Pointp){

(p);

}

publicintgetX(){

return,;

}

publicintgetY(){

return,;

}

publicintgetWidth(){

return}

publicintgetHeight(){

return}

}

packagebase;

import

publicclassCircleextendsRect{

@Override

publicvoiddraw(Graphicsg){

//TODOAuto-generatedmethodstub

(getX(),getY(),getWidth(),getHeight());

}

}

packagewinpaint;

import;

import;

import;

import;

publicclasswindowsPaintextendsJPanel

implementsMouseListener,MouseMotionListener

{

Stringcommand="矩形";

ListLg=newArrayList();

GrapicsElemcur;

JLabellabel;

publicwindowsPaint(Stringtitle){

init();

}

privatevoidinit(){

addMouseListener(this);

addMouseMotionListener(this);

}

/**

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

*Class<>g=("");

*();

*@return

*/

privateGrapicsElemnewInstance(){

command=;

if("矩形")){

returnnewRect();

}elseif("圆形")){

returnnewCircle();

}elseif("线")){

returnnewLine();

}

returnnull;

}

@Override

publicvoidpaint(Graphicsg){

//TODOAuto-generatedmethodstub

(g);

Graphics2Dg2d=(Graphics2D)g;

//());

(newBasicStroke);

for(inti=0;i<();i++){

GrapicsElemge=(i);

(g);

}

}

//@Override

//publicvoidrepaint(){

////TODOAuto-generatedmethodstub

////TODOAuto-generatedmethodstub

////

//();

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

////@Override

////publicvoidrun(){

//////TODOAuto-generatedmethodstub

////try{

////SaveToFile();

////}catch(IOExceptione){

//////TODOAuto-generatedcatchblock

////();

////}

////}

////});

////();

////

////ImageIconbg=newImageIcon("");

////if(bg!

=null){

////if(label!

=null)

////(label);

////label=newJLabel(bg);

////(0,0,(),());

////(label);

////();

////}

////

//}

privatevoidSaveToFile()throwsIOException{

//TODOAuto-generatedmethodstub

BufferedImagebimg=newBufferedImage(),(),;

Graphics2Dg2d=();

(g2d);

(bimg,"jpg",newFile(""));

}

@Override

publicvoidmousePressed(MouseEvente){

Pointp=newPoint(),());

cur=newInstance();

(p);

(cur);

}

@Override

publicvoidmouseDragged(MouseEvente){

Pointp=newPoint(),());

(p);

repaint();

}

@Override

publicvoidmouseReleased(MouseEvente){

Pointp=newPoint(),());

(p);

repaint();

}

@Override

publicvoidmouseMoved(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmouseClicked(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmouseEntered(MouseEvente){

//TODOAuto-generatedmethodstub

}

@Override

publicvoidmouseExited(MouseEvente){

//TODOAuto-generatedmethodstub

}

}

packagewinpaint;

publicclassWinToolBarextendsJToolBarimplementsActionListener{

publicstaticStringCommand="矩形";

JButtonbtn1,btn2,btn3;

//windowsPaintwinp;

publicWinToolBar(windowsPaintwinP){

btn1=newJButton("矩形");

btn2=newJButton("圆形");

btn3=newJButton("线");

(btn1);

(btn2);

(btn3);

((ActionListener)this);

((ActionListener)this);

((ActionListener)this);

//=winP;

JComboBoxcom=newJComboBox();

("红色");

("蓝色");

("黑色");

(newItemListener(){

@Override

publicvoiditemStateChanged(ItemEvente){

//TODOAuto-generatedmethodstub

}

});

(com);

}

@Override

publicvoidactionPerformed(ActionEvente){

//TODOAuto-generatedmethodstub

JButtonbtn=(JButton)();

;

Command=();

}

}

3、实验结果

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1