编程题。在Applet中画一轮黄色新月,并且窗口上方显示红字“The Moon"。当在窗口另一位置单击鼠标后,在鼠标位置重新绘制月亮,并写出相应html文件。请根据注释行提示完成程序代码。 import java. awt.*; import java. awt. event.*; import java. applet. Applet; public class MoonApplet extends Applet implements MouseListener { int x,y; ∥圆外切矩形左上角坐标 /**完成小程序的初始化方法init()为x、y赋初值,并为本类注册鼠标事件监听器*/ (2分) /**完成小程序的绘图方法paint(Graphics g)在Applet上显示文字和新月图形*/ (4分) /**实现点击鼠标方法mouseClicked(MouseEvente)获取鼠标点击位置的坐标,重绘*/ (2分) public void mousePressed(MouseEvent e){} public void mouseEntered(MouseEvent e){} public void mouseExited(MouseEvent e){} public void mouseReleased(MouseEvent e){} } /**HTML文件:*/ (2分)
时间: 2023-12-20 18:04:20 浏览: 86
下面是完整的程序代码和对应的HTML文件:
MoonApplet.java
```java
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class MoonApplet extends Applet implements MouseListener {
int x, y; // 圆外切矩形左上角坐标
// 完成小程序的初始化方法init()为x、y赋初值,并为本类注册鼠标事件监听器
public void init() {
x = 50;
y = 50;
addMouseListener(this);
}
// 完成小程序的绘图方法paint(Graphics g)在Applet上显示文字和新月图形
public void paint(Graphics g) {
// 显示红字“The Moon"
g.setColor(Color.red);
g.drawString("The Moon", 10, 30);
// 画黄色新月
g.setColor(Color.yellow);
g.fillArc(x, y, 100, 100, 30, 300);
g.fillArc(x + 50, y, 100, 100, 210, 300);
}
// 实现点击鼠标方法mouseClicked(MouseEvent e)获取鼠标点击位置的坐标,重绘
public void mouseClicked(MouseEvent e) {
x = e.getX();
y = e.getY();
repaint();
}
public void mousePressed(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
}
```
MoonApplet.html
```html
<html>
<head>
<title>Moon Applet</title>
</head>
<body>
<applet code="MoonApplet.class" width="300" height="200"></applet>
</body>
</html>
```
说明:
1. 程序中用到了java.awt和java.awt.event两个包,需要在程序开头进行导入。
2. init()方法中设置初始的坐标值x和y,并通过addMouseListener()方法注册鼠标事件监听器。
3. paint()方法中先用g.drawString()方法显示红字“The Moon",然后用g.fillArc()方法画出黄色的新月图形。
4. mouseClicked()方法中获取鼠标点击位置的坐标,并调用repaint()方法重绘界面。
5. mousePressed()、mouseEntered()、mouseExited()、mouseReleased()这四个方法可以不进行实现,留空即可。
6. HTML文件中通过<applet>标签引用了该Applet程序,并设置了宽度和高度。
阅读全文