《面向对象程序设计》实验报告十一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《面向对象程序设计》实验报告
实验十一绘制图形
【实验目的】
掌握使用图形类Graphics 画出不同图形的方法。
【实验内容】(选做一题)
1. 编写绘制圆形程序DrawOval.java。点击“确定”按钮时,在画布的指定位置画圆。
2. 编写移动方块程序MoveSquare.java。
程序由二个类组成:窗体主类(表现层)负责控制,确定所有组件的位置,处理用户对方块的操作。
画布MoveCanvas类(逻辑层)负责绘图,其paint负责绘制方块,其方法moveUp(),moveDown(),moveLeft(),moveRight()分别响应窗体主类actionPerformed ()方法的对应的按钮事件,再调用repaint 方法来刷新图像。
【实验报告】
具体实验内容1. 编写绘制圆形程序DrawOval.java。点击“确定”按钮时,在画布的指定位置画圆。
运行成功的程序为:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import javax.swing.*;
public class DrawOval extends JFrame implements ActionListener { Ovalcanvas canvas;
JTextField in_R,in_X,in_Y;
JButton btn;
public static void main(String[] args) {
// TODO Auto-generated method stub
DrawOval DrawOval=new DrawOval();
}
public DrawOval() {
super("画布上绘制圆");
setSize(600,300);
setVisible(true);
canvas=new Ovalcanvas();
in_R=new JTextField(6);
in_X=new JTextField(6);
in_Y=new JTextField(6);
setLayout(new FlowLayout());
add(new JLabel("输入圆的位置坐标:"));
add(in_X);
下面为具体实验过程:
(1)运行,出现错误,主要是“cannot be resolved to a type”的错误。WindowEvent cannot be resolved to a type
Graphics cannot be resolved to a type
Constant cannot be resolved to a variable
Constant cannot be resolved to a variable
(2)换了一个程序,运行,出现错误:
Multiple markers at this line- Syntax error on token "(", delete this token- Syntax error on token ")", delete this token
Multiple markers at this line
- Syntax error on token(s), misplaced construct(s)
- Syntax error on token "void", @ expected
- Syntax error, insert "interface Identifier" to complete
InterfaceHeader
(3)主窗体界面应该调研setOval(int[]x,int[]y,intN)变成画布类逻辑层。
(4)按照云课堂PPT的程序,输入,发现有如下错误:
①Ovalcanvas cannot be resolved to a type
②Syntax error on token "Invalid Character", ; expected
③JLable cannot be resolved to a type
④Syntax error on token "Invalid Character", ; expected
⑤Multiple markers at this line
- Ovalcanvas cannot be resolved to
a type
- Ovalcanvas cannot be resolved to
a type
⑥Exception in thread "main" ng.Error: Unresolved compilation problem:
at DrawOval.main(DrawOval.java:9)
(5)第35行class OvalCanvas extends Canvas应该改为“class Ovalcanvas extends Canvas”,没有注意大小写。
(6)第14行“super("画布上绘制圆");”这里的“;”有问题,忘了使用英文符号。
(7)将以下程序: x=Integer.parseInt(jl1.getText());
y=Integer.parseInt(jl2.getText());
r=Integer.parseInt(jl3.getText());改为:
x=Integer.parseInt(in_X.getText());
y=Integer.parseInt(in_Y.getText());
r=Integer.parseInt(in_R.getText());
(8)经过观察,发现我之所以会出现“JLable cannot be resolved to a type”的错误,是因为我把“JLabel”写出了”JLable”.