Apabila bekerja dengan GUI, adalah penting untuk mengemas kini label secara dinamik untuk memaparkan data masa nyata atau input pengguna JLabel pada selang masa yang tetap dalam Java program.
Soalan:
Bagaimana untuk menggunakan Swing Timer untuk mengemas kini JLabel pada selang masa yang tetap untuk memaparkan data yang disimpan dalam ArrayList?
Jawapan:
1 Penggunaan Swing Timer
Swing Timer digunakan untuk melaksanakan tugas biasa dalam Java SWING kelas perpustakaan. Untuk mengemas kini JLabel sekali-sekala, kami menggunakan Pemasa Swing dan menyediakan ActionListener untuk mengendalikan tugas kemas kini.
2. Pelaksanaan ActionListener
Pelaksanaan ActionListener bertindak sebagai panggilan balik untuk Swing Timer. ActionListener melaksanakan kaedah actionPerformed setiap kali pemasa menyala. Dalam kaedah ini, kami mengakses perkataan dalam ArrayList dan mengemas kini teks JLabel.
3. Memulakan dan memberhentikan Pemasa
Pemasa dimulakan dengan kaedah mula() dan dihentikan dengan kaedah berhenti(). Pemasa berhenti apabila ia telah selesai melintasi ArrayList atau apabila keadaan tertentu ditemui.
Kod sampel:
private void updateJLabel() { final Timer timer = new Timer(500, null); ActionListener listener = new ActionListener() { private Iterator<Word> iterator = words.iterator(); @Override public void actionPerformed(ActionEvent e) { if (iterator.hasNext()) { _textField.setText(iterator.next().getName()); } else { timer.stop(); } } }; timer.addActionListener(listener); timer.start(); }
Nota:
Kami menganggap bahawa _textField ialah JLabel yang akan dikemas kini.
Mengikut langkah ini, anda boleh mengemas kini JLabel dalam Java secara dinamik dan memaparkan data pada selang waktu tertentu.
Atas ialah kandungan terperinci Bagaimana Mengemas kini JLabel secara Dinamik dengan Data ArrayList Menggunakan Pemasa Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!