《面向对象程序设计》实验报告十一

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

相关文档
最新文档