用java写一个消息提醒,以弹幕在windows 桌面滚动
时间: 2023-05-22 12:00:56 浏览: 116
java桌面弹幕代码
4星 · 用户满意度95%
可以使用 Java Swing 库中的 JWindow 类来实现消息提醒的弹窗效果,然后使用线程来控制弹幕的滚动。以下是一个简单的示例代码:
```java
import javax.swing.*;
import java.awt.*;
import java.util.Random;
public class MessageReminder extends JFrame implements Runnable {
private static final int WIDTH = 300;
private static final int HEIGHT = 100;
private static final int SPEED = 5;
private static final int INTERVAL = 50;
private JLabel messageLabel;
private int x, y;
public MessageReminder(String message) {
super("消息提醒");
setSize(WIDTH, HEIGHT);
setUndecorated(true);
setLocationRelativeTo(null);
setAlwaysOnTop(true);
messageLabel = new JLabel(message);
messageLabel.setFont(new Font("微软雅黑", Font.BOLD, 16));
messageLabel.setForeground(Color.WHITE);
getContentPane().setBackground(Color.BLACK);
getContentPane().add(messageLabel, BorderLayout.CENTER);
setVisible(true);
x = WIDTH;
y = new Random().nextInt(HEIGHT - messageLabel.getHeight());
}
@Override
public void run() {
while (x > -messageLabel.getWidth()) {
try {
Thread.sleep(INTERVAL);
} catch (InterruptedException e) {
e.printStackTrace();
}
x -= SPEED;
setLocation(x, y);
}
dispose();
}
public static void main(String[] args) {
new Thread(new MessageReminder("这是一条消息提醒的示例")).start();
}
}
```
这个示例中,我们创建了一个继承自 JFrame 的类 MessageReminder,它包含一个 JLabel 用于显示消息内容。在构造函数中,我们设置了窗口的基本属性,并将消息内容设置到标签中。在 run 方法中,我们使用一个 while 循环来控制弹幕的滚动,每隔一段时间更新一次窗口的位置,直到窗口滚动到屏幕外部时关闭窗口。最后,在 main 方法中启动一个新线程来显示消息提醒窗口。
需要注意的是,这个示例中的弹幕滚动是单向的,如果需要实现双向滚动或者其他更复杂的效果,需要根据具体需求进行修改。
阅读全文