Rumah Kewangan Peribadi 10 Perbezaan antara JavaFX dan Swing - dummies

10 Perbezaan antara JavaFX dan Swing - dummies

Isi kandungan:

Video: Apa Itu Spread ? 2024

Video: Apa Itu Spread ? 2024
Anonim

Jika anda seorang programmer Java yang berpengalaman, anda sudah pasti bekerja dengan Swing untuk membuat antara muka pengguna. Oracle tidak sepenuhnya ditinggalkan Swing - ia tidak usang, dan aplikasi Swing terus berfungsi. Tetapi tidak ada kerja yang dilakukan lagi untuk meningkatkan Swing, dan Oracle telah menyatakan dengan jelas bahawa JavaFX adalah masa depan.

Berikut adalah sepuluh perbezaan asas antara JavaFX dan Swing.

Di JavaFX, semua peringkat dunia

Dalam Swing, kelas yang memegang komponen antara muka pengguna anda dipanggil bingkai dan ditakrifkan oleh kelas JFrame. Bingkai pada dasarnya adalah tetingkap kosong yang membolehkan anda menambah panel , yang berfungsi sebagai wadah untuk elemen antara muka pengguna anda. Panel ditakrifkan oleh kelas JPanel.

Aplikasi Swing sebenarnya adalah kelas yang memanjangkan kelas JFrame. Untuk memaparkan komponen antara muka pengguna, anda menambah komponen pada JPanel dan kemudian tambahkan panel ke bingkai.

JavaFX menggunakan metafora teater untuk memodelkan kontena peringkat atas suatu aplikasi. Tahap (ditakrifkan oleh kelas Peringkat) mewakili kontena tahap tertinggi - biasanya, tetingkap, tetapi pada beberapa sistem operasi, peringkat mungkin mewakili keseluruhan permukaan paparan. Kawalan individu dan komponen lain yang membentuk antara muka pengguna terkandung dalam adegan (ditakrifkan oleh kelas Scene). Aplikasi boleh mempunyai lebih daripada satu adegan, tetapi hanya satu adegan yang boleh dipaparkan di panggung pada suatu masa tertentu.

Adegan mengandungi graf imej , yang merupakan konsep yang paling penting dalam JavaFX. Graf adegan adalah koleksi semua elemen yang membentuk antara muka pengguna - kumpulan, susun atur, kawalan, dan bentuk. Objek ini dipanggil nod dan semua berasal dari kelas Node. Kelas Node mempunyai banyak ciri dan keupayaan berguna yang secara automatik disediakan untuk sebarang objek yang boleh anda tambahkan ke antara muka pengguna anda. Sebagai contoh, kelas Node mentakrifkan satu kaedah setRotate yang membolehkan anda memutar sebarang nod dalam graf tempat kejadian.

Dalam JavaFX, pengurus susun atur adalah nod

Dalam Swing, susun atur dikaitkan dengan JPanel. JPanel peringkat atas memberikan susun atur asas untuk bingkai tersebut. Jika anda ingin menyusun susun atur tambahan dalam susun atur peringkat tinggi, anda mesti mencipta JPan tambahan, tetapkan susun aturnya yang berkaitan, dan kemudian tambahkannya ke susun atur peringkat tinggi.

Dalam JavaFX, susun atur adalah subkelas kelas Node seperti kawalan dan bentuk. Layout mengandungi koleksi nod, dan sebarang nod yang terkandung dalam susun atur boleh menjadi jenis nod: kawalan, bentuk, atau susun atur lain.Skim ini jauh lebih rumit dari persatuan Swing dengan panel.

JavaFX telah meningkatkan pengendalian acara

Kedua-dua JavaFX dan Swing menggunakan pengendalian acara untuk bertindak balas kepada peristiwa input pengguna. Walau bagaimanapun, anda akan mendapati bahawa peristiwa di JavaFX adalah pemikiran yang lebih baik dan lebih konsisten daripada kesamaan mereka dalam Swing. Tetapi pengendalian peristiwa sebab yang paling utama diperbaiki di JavaFX adalah kerana bergantung pada sifatnya.

JavaFX menyokong ciri-ciri

JavaFX menyokong konsep sifat dan menggunakan sifat-sifatnya secara meluas dalam kelasnya. Ringkasnya, harta adalah pembolehubah yang nilainya dapat diperhatikan. Anda boleh mendaftarkan pendengar dengan mana-mana harta, membolehkan anda menulis kod yang dicetuskan secara automatik apabila perubahan harta. Di samping itu, anda boleh mengikat sifat antara satu sama lain, bermakna bahawa jika satu nilai harta berubah, nilai harta yang lain secara automatik berubah dengannya.

Oleh kerana hampir semua ciri-ciri elemen antara muka pengguna diuruskan melalui sifat, JavaFX menyediakan pengendalian peristiwa yang tidak pernah didengar di Swing. Sebagai contoh, dalam JavaFX, anda boleh melampirkan pendengar acara dengan warna bentuk. Jika bentuk berubah warna, kod pendengar acara anda dilaksanakan. Anda mungkin tidak menggunakan untuk keupayaan, tetapi anda boleh menggunakannya jika anda perlu.

JavaFX adalah skinnable dengan CSS

Salah satu ciri terbaik JavaFX ialah anda boleh mengawal pemformatan dengan Lembaran Gaya Cascading (CSS). Hanya tentang setiap aspek penampilan antara muka pengguna anda boleh ditetapkan oleh peraturan gaya, dan anda dengan mudah boleh membenarkan pengguna memilih mana-mana helaian gaya yang ada untuk memohon ke tempat kejadian. Oleh itu, anda boleh mengubah keseluruhan penampilan aplikasi anda dengan satu panggilan kaedah tunggal.

JavaFX mempunyai kawalan yang lebih konsisten

Secara umum, anda akan mendapati bahawa hierarki kawalan JavaFX lebih lengkap daripada Swing's. Kedua-duanya mempunyai semua kawalan asas - butang, kotak cek, kotak kombo, dan sebagainya. Tetapi JavaFX mempunyai beberapa kawalan menarik yang Swing tidak mempunyai, seperti kawalan TitledPane yang boleh dilipat dan kawalan Akordion yang mengatur kawalan TitledPane berganda dalam timbunan. Dan hakikat bahawa semua kawalan ini adalah skinnable oleh CSS memberi mereka kelebihan besar berbanding Swing.

JavaFX mempunyai kesan khas

The javafx. tempat kejadian. pakej kesan mengandungi beberapa kelas yang boleh dengan mudah memohon kesan khas kepada mana-mana nod dalam graf adegan. Kelas-kelas ini membolehkan anda dengan mudah menggunakan bayang-bayang, pantulan, blur, dan lain-lain kesan visual menarik yang boleh mengubah rupa antara muka pengguna anda.

Animasi lebih mudah dalam JavaFX

Animasi boleh dilakukan di Swing, tetapi Swing tidak memberikan sebarang sokongan langsung untuknya. Untuk menghidupkan komponen Swing, anda mesti menyediakan pemasa anda sendiri dan membina logik anda sendiri untuk melakukan animasi.

Sebaliknya, JavaFX mempunyai sokongan terbina untuk animasi canggih yang boleh digunakan pada mana-mana nod dalam graf adegan. Anda boleh menggunakan salah satu daripada beberapa kelas peralihan terbina dalam untuk melaksanakan animasi biasa seperti pudar, putaran, atau laluan gerakan.Atau, anda boleh menggunakan kelas KeyFrame dan Timeline untuk dengan mudah menyediakan animasi tersuai.

JavaFX menyokong peranti sentuhan moden

Swing tidak mempunyai sebarang sokongan untuk peranti sentuhan moden. Sebaliknya, JavaFX mempunyai sokongan terbina dalam gerak isyarat sentuhan biasa seperti menatal, swiping, berputar, dan zoom. Mengendalikan peristiwa ini di JavaFX adalah semudah mengendalikan sebarang jenis acara lain: Anda hanya memasang pendengar acara pada acara sentuh dan kemudian menulis kod yang bertindak balas dengan sewajarnya.

JavaFX tidak bersamaan dengan JOptionPane

Tidak sepadan dengan sepenuhnya mengisi senarai sepuluh perbezaan dengan mata yang jelas menyokong JavaFX. Berikut adalah satu kegusaran kecil JavaFX: Ia tidak mempunyai setara dengan kelas Swing's JOptionpane, yang sangat berguna untuk memaparkan mesej amaran pendek atau mendapatkan input yang mudah dari pengguna. Di JavaFX, anda perlu membina setara anda dengan kelas berguna ini.

10 Perbezaan antara JavaFX dan Swing - dummies

Pilihan Editor

Menyesuaikan Invois QuickBooks 2014 dengan Alat Pereka Layout - dummies

Menyesuaikan Invois QuickBooks 2014 dengan Alat Pereka Layout - dummies

Mungkin anda telah menggunakan QuickBooks 2014's Basic Kotak dialog penyesuaian untuk membuat beberapa perubahan pada penampilan invois anda, dan anda belum berpuas hati. Mungkin anda telah melebih-lebihkan batu dan mengamati dengan kotak dialog Penyesuaian Tambahan untuk membuat perubahan selanjutnya, dan mungkin juga yang tidak meninggalkan anda senang dengan rupa invois anda. ...

Nisbah Ekuiti hutang dalam QuickBooks 2012 - dummies

Nisbah Ekuiti hutang dalam QuickBooks 2012 - dummies

Nisbah ekuiti hutang adalah salah satu nisbah leverage yang anda boleh gunakan dalam QuickBooks 2012. Nisbah ekuiti hutang membandingkan hutang jangka panjang syarikat dengan ekuiti pemegang saham atau ekuiti pemilik. Pada asasnya, nisbah ekuiti hutang menyatakan hutang jangka panjang syarikat sebagai peratusan ekuiti pemiliknya. Ekuiti pemegang saham sinonim dengan pemilik ...

Nisbah Ekuiti dalam QuickBooks 2014 - dummies

Nisbah Ekuiti dalam QuickBooks 2014 - dummies

Anda boleh mengesan nisbah ekuiti hutang anda dalam QuickBooks. Nisbah ekuiti hutang membandingkan hutang jangka panjang firma dengan ekuiti pemegang saham atau ekuiti pemilik. Pada asasnya, nisbah ekuiti hutang menyatakan hutang jangka panjang syarikat sebagai peratusan ekuiti pemiliknya. Ekuiti pemegang saham adalah sinonim dengan ekuiti pemilik dan, dalam kes ...

Pilihan Editor

Menambah Kursus ke Profil LinkedIn anda - patung

Menambah Kursus ke Profil LinkedIn anda - patung

Jika anda mengambil kursus satu kali yang tidak menyampaikan sijil atau sebahagian daripada program ijazah yang lebih besar, bahagian Kursus LinkedIn adalah untuk anda. Di samping itu, semakin banyak pelajar menyertai LinkedIn, menyedari peluang besar untuk mencari rangkaian dan pekerjaan. Bahagian Kursus adalah di mana anda menyaksikan kursus terkini ...

10 BerkaitanIn Profil Do dan Larangan - dummies

10 BerkaitanIn Profil Do dan Larangan - dummies

Profil LinkedIn anda adalah identiti digital anda. Dari semua profil media sosial di luar sana, profil LinkedIn adalah yang paling mendalam dan memberikan gambaran menyeluruh anda sebagai seorang profesional. Apabila orang mencari nama anda dalam enjin carian, profil LinkedIn anda sering dikembalikan tinggi dalam hasil carian. Apabila ia datang ...

10 LinkedIn Do dan Larangan - dummies

10 LinkedIn Do dan Larangan - dummies

Rangkaian sosial memerlukan banyak kerja, masa dan usaha . Berikut adalah sepuluh perkara penting dan tidak perlu untuk membantu anda membina hubungan LinkedIn dan mendapatkan nilai yang paling banyak daripada masa anda. Pastikan profil anda lengkap dan terkini Walaupun LinkedIn mempunyai banyak ciri, profil anda masih merupakan salah satu sebab yang paling menarik ...

Pilihan Editor

Percetakan Kebenaran Pengguna dalam QuickBooks 2012 - dummies

Percetakan Kebenaran Pengguna dalam QuickBooks 2012 - dummies

Akauntan sering ingin melihat keizinan pengguna tertentu dalam QuickBooks 2012 Ini benar terutamanya jika anda diaudit oleh CPA anda sebagai sebahagian daripada penutupan tahunan. (Anda mungkin diaudit jika bank mahukan penyata kewangan yang telah diaudit.) QuickBooks 2012 tidak menyediakan cara untuk anda mencetak maklumat yang ditunjukkan ...

Bagaimana Menghasilkan Lembaran Kerja Inventori Fizikal dalam QuickBooks 2017 - dummies

Bagaimana Menghasilkan Lembaran Kerja Inventori Fizikal dalam QuickBooks 2017 - dummies

QuickBooks 2017 melakukan yang cukup baik kerja mengesan inventori, tetapi anda masih perlu kerap mengambil inventori fizikal lengkap tentang apa yang ada dalam stok anda. Kadang-kadang, anda perlu pergi ke segala-galanya dan mengiranya dengan tangan. Maaf. Anda tidak boleh mengelakkan tugas itu. QuickBooks boleh menghasilkan mudah ...

Rasio keuntungan dan QuickBooks 2012 - dummies

Rasio keuntungan dan QuickBooks 2012 - dummies

Nisbah keuntungan menganalisis keuntungan syarikat dan anda boleh menggunakannya dalam QuickBooks 2012. Dalam ertikata, nisbah keuntungan ini adalah nisbah paling penting yang boleh anda kirakan. Mereka biasanya memberikan pandangan berguna yang sangat berguna kepada betapa menguntungkan firma dan mengapa. Sebagai contoh, satu nisbah keuntungan yang penting ialah peratusan margin kasar, ...