Tutorial
ini mencakup topik swing canggih Jawa seperti pendengar acara kelas
batin menggunakan kelas batin, arsitektur MVC yang faktor pekerja dari
kode GUI, menambahkan widget dinamis, peristiwa mouse dan wadah khusus. Dasar | Menengah
Batin (yaitu bersarang) event handler kelas memungkinkan rutinitas handler yang akan ditulis untuk objek tertentu. Sebagai contoh, daripada menggunakan addActionListener (ini) metode untuk beberapa tombol Anda dapat memiliki setiap tombol memanggil sendiri kelas batin . Kode fungsi masih bisa dicampur ke dalam kode GUI. Lihat daftar pendengar acara lainnya .
CATATAN: Klausul menerapkan kini ditempatkan di setiap header kelas batin dan bukan di header kelas utama. Juga pendaftaran pendengar adalah obyek Listener_class tertentu, bukan generik ini.
Kelas batin anonim tidak memiliki nama (sehingga tidak ada konflik nama) dan digunakan ketika hanya satu contoh dari kelas diperlukan. Mereka juga tidak memiliki konstruktor. Kelas batin anonim yang paling sering ditemukan pada pendengar acara dengan tindakan yang sangat sederhana. Hati-hati! Anonymous pendengar mencampurkan tindakan kode dengan obyek GUI. Hal ini bertentangan dengan pemisahan kode pekerja dari GUI yang merupakan bagian dari desain yang bersih. Hindari konstruksi ini jika mungkin.
MyMVC adalah contoh yang sangat sederhana dari desain MVC yang tidak memiliki data yang berubah memerlukan pembaruan GUI. Model objek berisi run-time tindakan untuk aplikasi. Ini mencakup metode untuk keluar (), jalankan (), tentang () dan membantu () yang umum untuk banyak utilitas. Obyek pandangan membutuhkan metode untuk membangun pendengar buttonActionListeners () termasuk addActionListener () dan setActionCommand (string) yang digunakan untuk melewati sebuah referensi dari tombol ditekan.. Konstruktor objek pandang menerima string yang menggabungkan judul utilitas. Modul kontroler menggunakan getActionCommand () untuk memanggil metode tindakan yang benar dalam model.
Ketika model / view interaksi diperlukan, akan mendorong perubahan model atau akan melihat menariknya? Pilihan membutuhkan satu modul untuk menyadari yang lain yang melanggar konsep usabilitas. MyMVC2 adalah tekan tombol sederhana kontra demo yang menggunakan kontroler untuk mengisolasi interaksi memperbarui. Sebuah Demo MVC Sederhana menggunakan teknik yang berbeda untuk mengatasi masalah ini.
CATATAN: Swing tidak memiliki kelas StatusBar built-in.
Pohon memungkinkan visualisasi, traversal dan manipulasi informasi hirarkis (mis. orangtua-anak) jauh lebih mudah. Pohon terdiri dari node. Contoh umum dari pohon adalah file direktori dan bagan organisasi. Konstruktor adalah JTree (objVar) di mana objVar dapat menjadi salah satu Hashtable, Obyek, TreeNode, TreeModel atau Vector. MyTree adalah demo yang menggunakan hashtable untuk menahan pohon yang sebenarnya. Rujuk ke tutorial Oracle untuk informasi lebih lengkap.
Lanjutan acara Pendengar
Sebuah kesulitan dengan basic event mendengarkan teknik (yaitu berbagi event) adalah bahwa hal itu menjadi canggung untuk program untuk banyak tombol dan widget. Diperpanjang jika pernyataan atau konstruksi switch dapat membuat kode sulit untuk mempertahankan. Ada cara yang lebih baik!Batin (yaitu bersarang) event handler kelas memungkinkan rutinitas handler yang akan ditulis untuk objek tertentu. Sebagai contoh, daripada menggunakan addActionListener (ini) metode untuk beberapa tombol Anda dapat memiliki setiap tombol memanggil sendiri kelas batin . Kode fungsi masih bisa dicampur ke dalam kode GUI. Lihat daftar pendengar acara lainnya .
Kelas batin anonim tidak memiliki nama (sehingga tidak ada konflik nama) dan digunakan ketika hanya satu contoh dari kelas diperlukan. Mereka juga tidak memiliki konstruktor. Kelas batin anonim yang paling sering ditemukan pada pendengar acara dengan tindakan yang sangat sederhana. Hati-hati! Anonymous pendengar mencampurkan tindakan kode dengan obyek GUI. Hal ini bertentangan dengan pemisahan kode pekerja dari GUI yang merupakan bagian dari desain yang bersih. Hindari konstruksi ini jika mungkin.
Adapter Classes
Sebagai acara kelas adalah antarmuka, semua metode dalam acara yang harus dilaksanakan kelas Adapter memberikan standar berbuat sesuatu metode yang Anda dapat memilih untuk menimpa.. Berikut ini adalah contoh singkat menggunakan kelas WindowAdapter untuk menghindari coding semua peristiwa jendela.Model-View-Controller Arsitektur
Model-View-Controller (MVC) arsitektur menggunakan modul kontroler untuk penyimpanan data dan faktor kode manipulasi dari kode desain GUI. Modul pengendali mengikat pendengar acara dalam modul maksud untuk tindakan mereka dalam modul model. Ketiga modul objek dapat dirancang pada waktu yang berbeda oleh programmer yang berbeda. Praktek pemrograman yang baik menyiratkan sifat pribadi dengan metode accessor publik untuk mereka yang membutuhkan akses dari luar wadah mereka.MyMVC adalah contoh yang sangat sederhana dari desain MVC yang tidak memiliki data yang berubah memerlukan pembaruan GUI. Model objek berisi run-time tindakan untuk aplikasi. Ini mencakup metode untuk keluar (), jalankan (), tentang () dan membantu () yang umum untuk banyak utilitas. Obyek pandangan membutuhkan metode untuk membangun pendengar buttonActionListeners () termasuk addActionListener () dan setActionCommand (string) yang digunakan untuk melewati sebuah referensi dari tombol ditekan.. Konstruktor objek pandang menerima string yang menggabungkan judul utilitas. Modul kontroler menggunakan getActionCommand () untuk memanggil metode tindakan yang benar dalam model.
Ketika model / view interaksi diperlukan, akan mendorong perubahan model atau akan melihat menariknya? Pilihan membutuhkan satu modul untuk menyadari yang lain yang melanggar konsep usabilitas. MyMVC2 adalah tekan tombol sederhana kontra demo yang menggunakan kontroler untuk mengisolasi interaksi memperbarui. Sebuah Demo MVC Sederhana menggunakan teknik yang berbeda untuk mengatasi masalah ini.
Dinamis Menambahkan Widgets
Banyak aplikasi perlu menambahkan satu atau lebih widget (tombol, textareas, dll) secara dinamis dengan tindakan "Buat". AddWidget adalah demo yang menambahkan satu set tombol sebagai array.Tikus Acara
Ada tiga jenis peristiwa mouse: gerak, roda dan tombol klik. Masing-masing memiliki pendengar mereka sendiri tetapi adapter dapat digunakan untuk bereaksi terhadap peristiwa gabungan. Tutorial Listener Oracle memiliki contoh situasi acara mouse banyak. mouseMotionDemo adalah contoh sederhana saya yang menggunakan prinsip-prinsip desain MVC dan menambahkan status bar menggunakan BorderLayout.CATATAN: Swing tidak memiliki kelas StatusBar built-in.
Tabel dan Pohon
Tabel mewakili data dalam satu baris / kolom dua format grid dimensi. Konstruktor adalah JTable (data, header) dimana data adalah string dimensi dua dan header adalah string dimensi satu. SimpleTable adalah demo. Rujuk ke tutorial Oracle untuk informasi lebih lengkap.Pohon memungkinkan visualisasi, traversal dan manipulasi informasi hirarkis (mis. orangtua-anak) jauh lebih mudah. Pohon terdiri dari node. Contoh umum dari pohon adalah file direktori dan bagan organisasi. Konstruktor adalah JTree (objVar) di mana objVar dapat menjadi salah satu Hashtable, Obyek, TreeNode, TreeModel atau Vector. MyTree adalah demo yang menggunakan hashtable untuk menahan pohon yang sebenarnya. Rujuk ke tutorial Oracle untuk informasi lebih lengkap.
Panes: menggulir dan Berlapis
Menggulir panel menetapkan bar gulir untuk memindahkan area yang ditampilkan dalam daftar, textareas dan komponen lainnya. Jika Anda ingin kebijakan scrollbar selain 'scrollers layar bila diperlukan' membaca Kebijakan Scroll Bar . Sebagai contoh, untuk menambahkan scrollbar ke area teks:
Panel berlapis memungkinkan komponen seperti tombol yang akan tumpang tindih atau berlapis. Sebuah contoh sederhana adalah:
Panes: Split dan Tabbed
Panel perpecahan memungkinkan Anda untuk menempatkan dua komponen berdampingan dalam satu panel. Hal ini juga dapat membagi panel horizontal. Sebuah contoh sederhana dari sebuah panel split:
Tabbed panel memungkinkan panel berlapis-lapis dengan tab bagi pengguna untuk mengakses lapisan yang diinginkan. Tab masing-masing berisi satu komponen. Sebuah contoh sederhana dari sebuah panel tab adalah:
0 komentar: