Rumah >Java >javaTutorial >Mengapa Medan Teks Saya Berkelip Sekali sahaja? (Isu Pemasa Ayunan dan ActionListener)
Pengendalian Masalah: Gelagat Denyar dalam Pemasa Ayunan
Dalam kod Java yang disediakan, pemasa dikonfigurasikan dengan ActionListener untuk mengemas kini latar belakang warna medan teks dalam urutan berselang-seli. Semasa pemasa mencetuskan ActionListener dengan sewajarnya, perubahan warna hanya diperhatikan dalam lelaran awal.
Punca Punca
Ralat utama anda terletak pada pelaksanaan tersuai ActionListener anda . Khususnya, dua isu berikut menghalang kefungsian yang betul:
Resolusi
Laksanakan pengubahsuaian berikut:
<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>
Dengan menggunakan perubahan ini, pemasa kini akan mengemas kini warna latar belakang medan teks secara berkesan secara berterusan.
Atas ialah kandungan terperinci Mengapa Medan Teks Saya Berkelip Sekali sahaja? (Isu Pemasa Ayunan dan ActionListener). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!