问题处理:Swing 计时器中的 Flash 行为
在提供的 Java 代码中,使用 ActionListener 配置计时器来更新后台交替序列中文本字段的颜色。虽然计时器适当地触发了 ActionListener,但仅在初始迭代中观察到颜色变化。
根本原因
您的主要错误在于 ActionListener 的自定义实现。具体来说,以下两个问题会妨碍正常功能:
分辨率
实施以下修改:
<code class="java">@Override public void actionPerformed(ActionEvent evt) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { if (flasher) { SpreademPanel.historyPnl.NameTxt.setBackground(Color.white); } else { SpreademPanel.historyPnl.NameTxt.setBackground(Color.pink); } flasher = !flasher; } }); } //actionPerformed</code>
通过应用这些更改,计时器现在将有效地连续更新文本字段的背景颜色。
以上是为什么我的文本字段只闪烁一次? (Swing 计时器和 ActionListener 问题)的详细内容。更多信息请关注PHP中文网其他相关文章!