Video: Project Update Berita Daerah 30 Oktober 2015 2024
Berikut adalah rahsia yang teratur: Program Java adalah multithreaded, yang bermaksud beberapa perkara berlaku sekaligus apabila anda menjalankan program Java. Tentu, komputer sedang melaksanakan kod yang telah anda tulis, tetapi ia juga melaksanakan kod lain (kod yang tidak anda tulis dan tidak lihat).
Semua kod ini sedang dijalankan pada masa yang sama. Walaupun komputer mengeksekusi pernyataan kaedah utama anda, satu demi satu, komputer mengambil masa yang lama, menyelinap secara ringkas, dan melaksanakan kenyataan daripada beberapa kaedah lain yang tidak kelihatan. Untuk program Java yang paling mudah, kaedah lain adalah yang didefinisikan sebagai sebahagian daripada Java Virtual Machine (JVM).
Sebagai contoh, Java mempunyai thread pengendalian acara. Semasa kod anda berjalan, kod pengendali acara pengendalian berjalan di latar belakang. Kod thread pengendalian acara mendengarkan klik tetikus dan mengambil tindakan sewajarnya setiap kali pengguna mengklik tetikus. Angka menggambarkan bagaimana ini berfungsi.
Apabila pengguna mengklik butang, thread pengendalian acara berkata, "Baiklah, butang itu diklik. Jadi, apa yang perlu saya lakukan? "Dan jawapannya adalah," Panggil beberapa kaedah ActionPerformed. "Ia seolah-olah thread pengendalian acara mempunyai kod yang kelihatan seperti ini:
if (buttonJustGotClicked ()) {object1. actionPerformed (infoAboutTheClick); object2. actionPerformed (infoAboutTheClick); object3. actionPerformed (infoAboutTheClick);}
Sudah tentu, di sebalik setiap jawapan adalah satu lagi soalan. Dalam keadaan ini, soalan susulan ialah, "Di manakah benang pengendalian peristiwa mencari tindakan ActionPerformed untuk memanggil? "Dan ada satu lagi soalan:" Bagaimana jika anda tidak mahu thread mengendalikan acara untuk memanggil kaedah actionPerformed tertentu yang mengintai dalam kod anda? "
Nah, itulah sebabnya anda memanggil kaedah addActionListener. Dalam penyenaraian, butang panggilan
. addActionListener (ini);
memberitahu thread pengendalian acara, "Letakkan tindakan CodePerformed ini pada senarai kaedah anda yang akan dipanggil. Panggil tindakan codePerformed ini setiap kali butang diklik. "
Jadi, itulah cara ia berfungsi. Untuk membolehkan komputer memanggil kaedah actionPerformed, anda mendaftarkan kaedah dengan benang pengendalian acara Java. Anda melakukan pendaftaran ini dengan menghubungi addActionListener. Kaedah addActionListener dimiliki oleh objek yang klik (dan peristiwa lain) anda sedang menunggu.
Dalam penyenaraian, anda sedang menunggu objek butang diklik, dan kaedah addActionListener dimiliki oleh objek butang itu.