gpt4 book ai didi

Java- 如何刷新 JPanel 窗口

转载 作者:行者123 更新时间:2023-11-29 03:44:12 26 4
gpt4 key购买 nike

我有一个 JPanel 窗口,上面画了一些东西。我想弄清楚如何使屏幕闪烁,就像一次简单的闪烁一样,以引起用户的注意?我发现了一个关于此的先前问题,但它不适用于我正在尝试做的事情。我有一个基于几个变量更新屏幕的连续循环。我只希望屏幕在某个时间点闪烁,然后恢复正常。

谢谢!

最佳答案

您可以使用 Trident在你的类中插入各种属性。这是一个动画面板背景的演示:

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

import org.pushingpixels.trident.Timeline;
import org.pushingpixels.trident.Timeline.RepeatBehavior;

public class TestPanel {
private static void createAndShowGUI() {
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
panel.add(new JLabel("Some text"));

frame.add(panel);
frame.pack();
frame.setVisible(true);

final Timeline timeline = new Timeline(panel);
timeline.addPropertyToInterpolate("background", panel.getBackground(),
Color.red);
timeline.setDuration(1000);

timeline.playLoop(5, RepeatBehavior.REVERSE);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}

编辑:自动隐藏弹出窗口的评论

您可以使用计时器隐藏弹出窗口,例如:

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class TempPopup {

public static void main(String[] args) {

JOptionPane pane = new JOptionPane("Message",
JOptionPane.INFORMATION_MESSAGE);
final JDialog dialog = pane.createDialog(null, "Title");

Timer timer = new Timer(2000, new ActionListener() {
public void actionPerformed(ActionEvent e) {
dialog.setVisible(false);
dialog.dispose();
}
});
timer.setRepeats(false);
timer.start();
dialog.setVisible(true);
dialog.dispose();
}
}

关于Java- 如何刷新 JPanel 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11745391/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com