在代码里再添加一个当鼠标移动到这个菱形上面的时候会变成正方形
时间: 2024-04-02 15:33:35 浏览: 20
Java是一门后端编程语言,不能直接实现鼠标移动的效果,但是我们可以使用Java图形界面库Swing来实现一个简单的图形界面,并在界面上绘制出空心菱形和正方形。当鼠标移动到菱形区域时,将空心菱形替换为正方形。以下是一个简单的Java Swing程序,实现了这个功能:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
public class Main extends JFrame {
private JPanel contentPane;
private boolean isMouseMoveOnDiamond = false; // 判断鼠标是否移动到菱形区域
public Main() {
setTitle("空心菱形和正方形");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 300, 300);
contentPane = new JPanel() {
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (isMouseMoveOnDiamond) {
g.drawRect(50, 50, 100, 100); // 绘制正方形
} else {
int[] xPoints = {100, 150, 100, 50};
int[] yPoints = {50, 100, 150, 100};
g.drawPolygon(xPoints, yPoints, 4); // 绘制空心菱形
}
}
};
contentPane.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseMoved(MouseEvent e) {
int x = e.getX();
int y = e.getY();
if (x > 50 && x < 150 && y > 50 && y < 150) {
isMouseMoveOnDiamond = true;
} else {
isMouseMoveOnDiamond = false;
}
contentPane.repaint();
}
});
setContentPane(contentPane);
}
public static void main(String[] args) {
Main frame = new Main();
frame.setVisible(true);
}
}
```
这个程序中,我们使用了JPanel作为内容面板,并在面板上绘制了一个空心菱形。同时,我们添加了一个鼠标移动事件监听器,当鼠标移动到菱形区域时,将isMouseMoveOnDiamond变量设为true,并在重绘面板时绘制一个正方形,实现了鼠标移动到菱形上时变为正方形的效果。
相关推荐
![xlsx](https://img-home.csdnimg.cn/images/20210720083732.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)