Java swing:选择/取消选择 JButton 以模仿脉冲

2024-01-12

FE我有一个电子邮件客户端,它接收新消息,带有传入消息的按钮开始执行某些操作,直到用户单击它以查看发生了什么。

我试图通过选择、等待然后取消选择按钮来吸引注意力,但这没有任何作用!

 do{
        button.setSelected(true);
               Thread oThread = new Thread() {
                    @Override
                   public void run() {
                       synchronized (this) {
                           try {
                               wait(1000);
                           } catch (InterruptedException e1) {
                               e1.printStackTrace();
                           }
                       }
                       button.setSelected(false);
                   }
               };
               oThread.start();
        }while(true);

为此,您应该使用 Swing 计时器。不要与外部线程中的 GUI 对象交互。

Java 教程中有一些文档:如何使用 Swing 定时器 http://docs.oracle.com/javase/tutorial/uiswing/misc/timer.html.

这是一个使用按钮图标来执行此操作的示例方法。

// member var
Icon buttonIcon;
Timer timer;
  // in constructor for example
  buttonIcon = new ImageIcon("resources/icon.png");
  button.setIcon(buttonIcon);

  timer = new Timer(1000, this);
  timer.start();
   // in the actionPerformed handler
   if (button.getIcon() == null)
     button.setIcon(icon);
   else
     button.setIcon(null);

你的班级需要实施ActionListener为了这样工作。添加一些逻辑以在需要时停止闪烁。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java swing:选择/取消选择 JButton 以模仿脉冲 的相关文章

随机推荐