java的draw和erase是什么
时间: 2024-05-25 14:17:09 浏览: 14
Java中的draw和erase是用于绘制和擦除图形的方法。
draw方法是用于在指定位置绘制指定的形状或图像。例如,可以使用drawLine方法在两个点之间绘制一条直线,使用drawRect方法绘制一个矩形,使用drawImage方法绘制一个图像等等。
erase方法是用于擦除指定位置的内容。例如,可以使用eraseRect方法擦除一个矩形区域的内容,使用clearRect方法清空整个绘图区域等等。
相关问题
设计一个图形接口,包括draw,erase两个方法,设计一个圆,三角形,直线三角形图形,让其实现图形接口。设计一个鼠标操作类,包含两个方法,一个是draw,让其能接收任何一种图形,并完成画的行为;另一个是erase,让其能接收任何一种图形,并完成擦除的行为。最后设计一个测试类,产生三种图形,并使用鼠标类的方法来完成画和擦除
好的,以下是Java代码实现:
```
interface Graphical {
void draw();
void erase();
}
class Circle implements Graphical {
@Override
public void draw() {
System.out.println("画圆形");
}
@Override
public void erase() {
System.out.println("擦除圆形");
}
}
class Triangle implements Graphical {
@Override
public void draw() {
System.out.println("画三角形");
}
@Override
public void erase() {
System.out.println("擦除三角形");
}
}
class Line implements Graphical {
@Override
public void draw() {
System.out.println("画直线");
}
@Override
public void erase() {
System.out.println("擦除直线");
}
}
class MouseEvent {
public void draw(Graphical graphical) {
graphical.draw();
}
public void erase(Graphical graphical) {
graphical.erase();
}
}
public class Main {
public static void main(String[] args) {
Graphical circle = new Circle();
Graphical triangle = new Triangle();
Graphical line = new Line();
MouseEvent mouseEvent = new MouseEvent();
mouseEvent.draw(circle);
mouseEvent.draw(triangle);
mouseEvent.draw(line);
mouseEvent.erase(circle);
mouseEvent.erase(triangle);
mouseEvent.erase(line);
}
}
```
运行结果为:
```
画圆形
画三角形
画直线
擦除圆形
擦除三角形
擦除直线
```
在这个例子中,我们首先定义了一个Graphical接口,包含draw()、erase()两个方法。然后我们定义了圆形、三角形、直线三种图形,并让它们实现Graphical接口,重写draw()、erase()方法。接着我们定义了一个MouseEvent类,包含draw()、erase()两个方法,它能接收任何一种图形,并完成画的行为和擦除的行为。最后我们定义了一个测试类Main,通过创建三种图形的对象和MouseEvent对象,并调用MouseEvent对象的draw()、erase()方法,来完成画和擦除的行为。
用java 定义Shape接口实现多态。 interface Shapef void draw0; void erase@; Circle类、Square类、Triangle类实现Shape 编写程序NewShapes.java,利用Random 类实现随机9次调用不同图形类绘图。
下面是对应的接口和类的代码:
```java
interface Shape {
void draw();
void erase();
}
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Draw a Circle.");
}
@Override
public void erase() {
System.out.println("Erase a Circle.");
}
}
class Square implements Shape {
@Override
public void draw() {
System.out.println("Draw a Square.");
}
@Override
public void erase() {
System.out.println("Erase a Square.");
}
}
class Triangle implements Shape {
@Override
public void draw() {
System.out.println("Draw a Triangle.");
}
@Override
public void erase() {
System.out.println("Erase a Triangle.");
}
}
```
然后是 `NewShapes.java` 的代码:
```java
import java.util.Random;
public class NewShapes {
public static void main(String[] args) {
Shape[] shapes = new Shape[3];
shapes[0] = new Circle();
shapes[1] = new Square();
shapes[2] = new Triangle();
Random random = new Random();
for (int i = 0; i < 9; i++) {
int index = random.nextInt(3);
Shape shape = shapes[index];
shape.draw();
shape.erase();
System.out.println();
}
}
}
```
在 `NewShapes.java` 中,我们先创建了一个 `Shape` 数组,里面存放了三种不同的形状。然后使用 `Random` 类生成随机数来随机选择一种形状进行绘图和擦除操作,重复执行 9 次。最后输出一个空行,以便区分每次执行的结果。