突发奇想想做个桌宠,但是只在大一摸过一点点C完全没有java基础,站内已有的攻略使用时出现了大大小小的问题且功能略多驾驭不了TAT于是拿隔壁院的舍友的书啃了半天,做了一个非常简单的桌宠,只有拖拽时更换画面的功能。
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class ResizableDesktopPet extends JFrame {
private JLabel petLabel;
private Point mouseOffset;
public ResizableDesktopPet(int width, int height) {
setUndecorated(true);
setBackground(new Color(0, 0, 0, 0));
setSize(width, height);
petLabel = new JLabel();
ImageIcon normalIcon = new ImageIcon("E:/1.gif"); //替换为你自己的宠物正常状态的图片路径
ImageIcon hoverIcon = new ImageIcon("E:/2.gif"); //替换为你自己的宠物鼠标悬停状态的图片路径
petLabel.setIcon(normalIcon);
// 监听鼠标按下事件
petLabel.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
mouseOf