Rumah >Java >javaTutorial >Bagaimana Mengemas kini JLabel secara Dinamik dengan Data ArrayList Menggunakan Pemasa Swing?

Bagaimana Mengemas kini JLabel secara Dinamik dengan Data ArrayList Menggunakan Pemasa Swing?

Susan Sarandon
Susan Sarandonasal
2024-12-12 13:47:13729semak imbas

How to Dynamically Update a JLabel with ArrayList Data Using a Swing Timer?

Mengemas kini JLabel Secara Dinamik dalam Java

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!

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