Rumah >Java >javaTutorial >Mengapakah aplikasi JAR Bundler saya ketinggalan atau ditamatkan apabila menggunakan OSXAdapter?
JAR Bundler menggunakan OSXAdapter menyebabkan aplikasi ketinggalan atau ditamatkan
Soalan ini timbul daripada keperluan untuk mengaitkan fail JAR dengan jenis fail tertentu (.jarbundlerproblem) menggunakan Apple Jar Bundler untuk OS X. Selain itu, aplikasi memerlukan keupayaan untuk mengendalikan fail yang klik dua kali dan diluluskan sebagai hujah.
Untuk mencapai matlamat ini, pembangun menggunakan perpustakaan OSXAdapter untuk mengendalikan acara berkaitan fail. Walau bagaimanapun, pengubahsuaian ini telah membawa kepada tingkah laku yang tidak konsisten dalam aplikasi. Kadangkala, ia tidak membuka atau memaparkan tetingkap kosong untuk tempoh yang panjang.
Analisis dan Penyelesaian:
Isu ini berpunca daripada potensi aplikasi untuk menyekat acara hantaran benang (EDT) kerana penggunaan 'Thread.sleep()' dalam kaedah 'doWork()'. Ini boleh mengakibatkan GUI tidak responsif sepenuhnya malah menyebabkan aplikasi ketinggalan atau ditamatkan.
Pendekatan Disyorkan:
Untuk menyelesaikan isu ini, adalah disyorkan untuk gunakan SwingWorker atau laksanakan antara muka 'Boleh Dijalankan' untuk melaksanakan tugas yang memakan masa dalam urutan yang berasingan. Ini akan membebaskan EDT, membolehkan GUI kekal responsif.
Pendekatan Alternatif untuk Auto-Tatal JTable:
Nota Tambahan:
Atas ialah kandungan terperinci Mengapakah aplikasi JAR Bundler saya ketinggalan atau ditamatkan apabila menggunakan OSXAdapter?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!