問題處理: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中文網其他相關文章!