JAVA实验报告 简单绘图程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
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