JAVA实验报告 简单绘图程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三绘制图形

一、实验目的

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

二、实验内容

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

三、实验代码

Main.java

import ;

import ;

import ;

import

import

import

import winpaint.WinToolBar;

import winpaint.windowsPaint;

public class Main {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

JPanel paintWin = new windowsPaint("画图");

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

paintWin.setLayout(null);

paintWin.setVisible(true);

JToolBar tool = new WinToolBar((windowsPaint)paintWin);

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

tool.setVisible(true);

JFrame frame = new JFrame();

frame.setLayout(null);

frame.setVisible(true);

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

frame.add(tool);

frame.add(paintWin);

}

}

test.java

import base.GrapicsElem;

import base.Rect;

public class testfractor {

/**

* @param args

* @throws ClassNotFoundException

*/

public static void main(String[] args) throws ClassNotFoundException { // TODO Auto-generated method stub

GrapicsElem Ge = new Rect();

Class demo1=null;

Class demo2=null;

Class demo3=null;

try{

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

demo1=Class.forName("base.Rect");

Class con= demo1.getSuperclass();

demo2 = Class.forName("base.GrapicsElem");

Class suns[] = demo2.getInterfaces();

for (int i = 0; i < suns.length; i++) {

}

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

con[0]);

con[1]);

con[2]);

}catch(Exception e){

e.printStackTrace();

}

demo2=new Rect().getClass();

demo3=Rect.class;

}

}

GrapicsElem.java

package base;

import

import

import

public abstract class GrapicsElem {

Point start;

Point end;

private Color color;

public Color getColor() {

return color;

}

public void setColor(Color color) {

this.color = color;

}

public void setStart(Point start) {

this.start = start;

}

public void setEnd(Point end) {

this.end = end;

}

public abstract void doMousePress(Point p);

public abstract void doMouseDrag(Point p);

public abstract void doMouseRelease(Point p);

public abstract void draw(Graphics g ) ;

}

Line.java

package base;

import

import

import

public class Line extends GrapicsElem {

ArrayList track;

public Line(){

track = new ArrayList();

}

@Override

public void draw(Graphics g) {

for (int i = 0; i < track.size()-1; i++) {

Point cur = track.get(i);

Point next = track.get(i+1);

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

}

}

private void AddPoint(Point p){

track.add(p);

}

@Override

public void doMousePress(Point p) {

// TODO Auto-generated method stub

相关文档
最新文档