Dalam bidang pengaturcaraan Java Swing, mewujudkan antara muka interaktif dan pengguna yang mesra adalah keutamaan. Salah satu komponen yang berguna yang kami ada ialahJspinner. Sebagai pembekal ayunan, saya teruja untuk membimbing anda melalui proses membuat pemutar menggunakanJspinnerdalam ayunan.


Memahami asas -asas jspinner
TheJspinnerKelas di Java Swing adalah medan input baris tunggal yang membolehkan pengguna memilih nombor atau nilai objek dari urutan yang diperintahkan. Ia menyediakan cara yang mesra pengguna untuk memasukkan nilai, terutamanya apabila julat nilai terhad atau apabila satu set nilai tertentu perlu dipilih.
Untuk mula menggunakan aJspinner, anda perlu mengimport pakej swing Java yang diperlukan. Coretan kod berikut menunjukkan penyata import asas:
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; kelas awam SpinNerExample {public static void main (string [] args) {// create a jframe jframe frame = new JFrame ("JSpinner Example"); frame.setDefaultCloseOperation (jframe.exit_on_close); bingkai.setsize (300, 200); bingkai.setLayout (baru FlowLayout ()); // Buat JSPinner JSpinner Spinner = JSPinner baru (); // Tambah pemutar ke bingkai bingkai.add (pemutar); // Buat bingkai bingkai yang kelihatan.setVisible (benar); }}
Dalam kod ini, kita mula -mula membuat aJframeyang akan menjadi tetingkap utama permohonan kami. Kemudian, kami membuat aJspinnerobjek dan tambahnya ke bingkai. Akhirnya, kami membuat bingkai kelihatan. Apabila anda menjalankan kod ini, anda akan melihat pemutar mudah dengan nilai awal 0.
Menyesuaikan JSPinner
AsasJspinnerKami mencipta di atas mempunyai model lalai yang membolehkan nilai integer bermula dari 0. Walau bagaimanapun, anda boleh menyesuaikanJspinnerdalam banyak cara.
Menukar model
TheJspinnermenggunakan model untuk menguruskan nilai -nilainya. Terdapat beberapa model yang dibina - dalam ayunan Java yang boleh anda gunakan:
Spinnernumbermodel: Model ini digunakan apabila anda ingin membuat pemutar untuk nilai berangka. Anda boleh menentukan saiz minimum, maksimum, dan langkah.
SpinNernumbermodel NumberModel = SpinNernumbermodel baru (5, 1, 10, 1); JSPinner NumberPinner = JSPinner baru (NumberModel);
Dalam contoh ini, pemutar akan bermula dengan nilai 5, mempunyai nilai minimum 1, nilai maksimum 10, dan saiz langkah 1.
Model senarai spinner: Sekiranya anda ingin membuat pemutar untuk senarai nilai tertentu, anda boleh menggunakanModel senarai spinner.
String [] listValues = {"Apple", "Banana", "Cherry"}; SpinNerlistModel ListModel = SpinNerListModel baru (ListValues); JSPinner listSpinner = new JSpinner (ListModel);
Pemutar ini akan membolehkan pengguna memilih dari senarai buah -buahan yang disediakan.
Menambah pendengar
Anda boleh menambah pendengar keJspinneruntuk melakukan tindakan apabila nilai pemutar berubah. TheChangelistenerAntara muka boleh digunakan untuk tujuan ini.
spinner.addChangeListener (e -> {object value = spinner.getValue (); System.out.println ("nilai baru:" + nilai);});
Dalam kod ini, apabila nilai perubahan pemutar, nilai baru akan dicetak ke konsol.
Menggunakan JSPinner dalam aplikasi sebenar - dunia
Mari kita pertimbangkan senario di mana kita membuat aplikasi untuk menguruskan bilangan buaian di taman permainan. Sebagai pembekal ayunan, kami menawarkan pelbagai jenis buaian sepertiAyunan berganda untuk kanak -kanak,Orang dewasa swing deria besar, danSet Swing Luaran Berguna.
import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; kelas awam SwingManagementApp {public static void main (string [] args) {jFrame frame = new JFrame ("Swing Management"); frame.setDefaultCloseOperation (jframe.exit_on_close); bingkai.setsize (400, 300); bingkai.setLayout (baru FlowLayout ()); // Buat pemutar untuk bilangan buaian spinnernumbermodel swingModel = spinnernumbermodel baru (0, 0, 100, 1); JSPinner Swingspinner = JSPinner baru (SwingModel); // Buat label untuk memaparkan bilangan yang dipilih buaian jlabel swingLabel = new Jlabel ("Bilangan buaian yang dipilih: 0"); // Tambah pendengar perubahan kepada pemutar swingspinner.addChangeListener (e -> {int value = (int) swingspinner.getValue (); swingLabel.settext ("Bilangan buaian dipilih:" + nilai);}); // Buat butang untuk mengesahkan pemilihan jButton mengesahkan = JButton baru ("mengesahkan"); ConfirmButton.AdDactionListener (e -> {int value = (int) swingspinner.getValue (); jOptionPane.showMessageedialog (bingkai, "anda telah memilih" + nilai + "swings.");}); // Tambah komponen ke bingkai bingkai.add (New Jlabel ("Pilih bilangan buaian:")); frame.add (swingspinner); bingkai.add (SwingLabel); bingkai.add (sahkanButton); bingkai.setVisible (benar); }}
Dalam aplikasi ini, kami membuat pemutar untuk membolehkan pengguna memilih bilangan buaian. Kami juga menambah label untuk memaparkan nombor yang dipilih dan butang untuk mengesahkan pemilihan. Apabila pengguna mengklik butang Sahkan, kotak dialog akan menunjukkan bilangan buaian yang telah mereka pilih.
Menggayakan Jspinner
Anda juga boleh gayaJspinneruntuk menjadikannya lebih menarik secara visual. Anda boleh menukar fon, warna, dan sempadan pemutar.
spinner.setFont (font baru ("arial", font.bold, 16)); spinner.setforeground (color.red); spinner.setborder (borderFactory.CreateLinerder (color.blue, 2));
Dalam kod ini, kita menukar fon pemutar ke Arial, Bold, dan Saiz 16. Kami juga menukar warna teks menjadi merah dan menambah sempadan biru dengan lebar 2 piksel.
Penggunaan lanjutan JSPinner
Membuat model tersuai
Sekiranya model yang dibina - tidak memenuhi keperluan anda, anda boleh membuat model tersuai dengan memperluaskanAbstrakSpinnermodelkelas.
Kelas CustomSpinNermodel memanjangkan AbstrakSpinNermodel {private string [] value = {"option 1", "option 2", "Option 3"}; Int CurrentIndex Private = 0; @Override objek awam getValue () {return values [currentIndex]; } @Override public void setValue (nilai objek) {for (int i = 0; i <values.length; i ++) {if (values [i] .equals (value)) {currentIndex = i; firestateChanged (); rehat; }}} @Override objek awam getNextValue () {if (currentIndex <values.length - 1) {currentIndex ++; firestateChanged (); Nilai pulangan [CurrentIndex]; } kembali null; } @Override objek awam getPreviousValue () {if (currentIndex> 0) {currentIndex--; firestateChanged (); Nilai pulangan [CurrentIndex]; } kembali null; }}
Anda kemudian boleh menggunakan model tersuai ini dengan aJspinner:
CustomSpinNermodel custommodel = new CustomSpinNermodel (); JSPinner CustomSpinner = JSPinner baru (Custommodel);
Kesimpulan
TheJspinnerDi Java Swing adalah komponen yang kuat dan serba boleh yang boleh digunakan untuk membuat antara muka pengguna interaktif. Sebagai pembekal swing, kami memahami pentingnya menyediakan komponen dan penyelesaian yang berkualiti tinggi. Sama ada anda membuat aplikasi mudah atau kompleks,Jspinnerboleh disesuaikan dengan keperluan anda.
Sekiranya anda berminat membeli produk swing kami sepertiAyunan berganda untuk kanak -kanak,Orang dewasa swing deria besar, atauSet Swing Luaran Berguna, atau jika anda mempunyai sebarang soalan mengenai penyelesaian pengaturcaraan swing kami, sila hubungi kami untuk rundingan perolehan.
Rujukan
- "Java Swing Tutorial" oleh Oracle
- "Jawa yang berkesan" oleh Joshua Bloch
