Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Mengemas kini JLabel dengan Perkataan daripada ArrayList Setiap X Saat dalam Swing?

Bagaimanakah Saya Boleh Mengemas kini JLabel dengan Perkataan daripada ArrayList Setiap X Saat dalam Swing?

DDD
DDDasal
2024-12-11 09:16:09953semak imbas

How Can I Update a JLabel with Words from an ArrayList Every X Seconds in Swing?

Kemas kini JLabel Setiap X Saat daripada ArrayList

Dalam artikel ini, kami akan menangani isu di mana anda menghadapi cabaran mengemas kini JLabel secara dinamik dalam aplikasi Swing. Khususnya, anda cuba memaparkan urutan perkataan, dengan setiap perkataan muncul untuk tempoh tertentu.

Untuk menyelesaikannya, kami akan memanfaatkan kelas javax.swing.Timer. Berikut ialah gambaran keseluruhan cara ia berfungsi:

  1. Buat Pemasa: Tentukan pemasa yang akan mencetuskan tindakan setiap X milisaat. Contohnya, untuk memaparkan perkataan setiap 2 saat, tetapkan kelewatan 2000 milisaat.
final Timer timer = new Timer(2000, null);
  1. Laksanakan ActionListener: Cipta ActionListener untuk dilaksanakan apabila pemasa dicetuskan sesuatu peristiwa. Dalam pendengar ini, anda akan mengemas kini teks yang dipaparkan pada JLabel.
ActionListener listener = new ActionListener() {
    private Iterator<Word> it = words.iterator();

    @Override
    public void actionPerformed(ActionEvent e) {
        if (it.hasNext()) {
            JLabel.setText(it.next().getName());
        }
        else {
            timer.stop();
        }
    }
};
  1. Tambahkan ActionListener pada Pemasa: Kaitkan ActionListener dengan pemasa.
timer.addActionListener(listener);
  1. Mula Pemasa: Mulakan pemasa untuk mula mencetuskan acara.
timer.start();
  1. Kemas Kini Teks Pada Acara: Apabila pemasa mencetuskan acara, ActionListener mengemas kini Teks JLabel dengan perkataan seterusnya dalam senarai. Jika tiada lagi perkataan, ia menghentikan pemasa.

Dengan mengikut langkah ini, anda boleh mencapai kesan kemas kini teks dinamik yang diingini pada JLabel.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini JLabel dengan Perkataan daripada ArrayList Setiap X Saat dalam Swing?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn