문제 처리: 스윙 타이머의 플래시 동작
제공된 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>
이러한 변경 사항을 적용하면 이제 타이머가 텍스트 필드의 배경색을 지속적으로 효과적으로 업데이트합니다.
위 내용은 내 TextField가 한 번만 깜박이는 이유는 무엇입니까? (스윙 타이머 및 ActionListener 문제)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!