Monday, November 26, 2012

0 Merancang GUI

Merancang GUI

Widgets (yaitu komponen atau kontrol) yang diatur dalam cara yang logis dan menyenangkan dengan menggunakan pendekatan berlapis di mana setiap lapisan menggunakan manajer layout yang sesuai. Dengar-dan-merasa memungkinkan desainer mengontrol rendering kontrol. Menu, toolbar dan popup juga dibahas.

Tata Letak Manajer

Manajer tata letak kelas yang mengontrol ukuran, posisi dan penyelarasan komponen dalam sebuah wadah sehingga mereka tidak kerumunan sama lain atau tumpang tindih. Wadah adalah komponen dan dapat berlapis (manajer tata letak yaitu dalam manajer tata letak). Java menyediakan manajer tata letak yang berkisar dari yang sederhana: FlowLayout, BoxLayout dan GridLayout untuk tujuan khusus:. BorderLayout dan CardLayout ke GridBagLayout sangat fleksibel SpringLayout adalah manajer layout baru (tapi kompleks) yang menggunakan konsep mata air dan struts untuk membantu merancang dengan baik- diposisikan kontainer. Gunakan metode setLayout () untuk mengatur ulang panel konten ke manajer layout yang spesifik:

 JPanel p = new JPanel (); / / membuat panel pertama
 p.setLayout (new BorderLayout ()); / / kemudian manajer ulang 
Gunakan setPreferedSize (w, h) pada suatu obyek sehingga tampilan preset. Setiap manajer tata letak komponen pada skala resize dengan cara yang berbeda. Gunakan setMinimumSize (w, h) pada objek untuk mencegah bungkus atau hilangnya tampilan komponen.
FlowLayout mengatur komponen dalam baris di lebar dari sebuah wadah. Komponen FlowLayout otomatis membungkus atau pindah ke baris berikutnya bila diperlukan. Bila Anda menggunakan FlowLayout, masing-masing komponen mempertahankan ukuran standar (yaitu JButton akan menjadi cukup besar untuk menampung teks nya), tidak seperti BorderLayout dimana komponen Anda menambahkan mengisi daerah mereka. Juga, dengan FlowLayout, ketika Anda mengubah ukuran jendela, masing-masing komponen mempertahankan ukurannya (tapi mungkin menjadi sebagian dikaburkan atau mengubah posisi atau bungkus). Jika Anda perlu untuk memaksa bungkus (seperti menggunakan
dalam HTML), menggunakan dua kontainer, satu untuk setiap baris.
FlowLayout adalah default untuk objek JPanel. Komponen yang FlowLayout pusat dibenarkan secara default. Jika Anda membutuhkan pembenaran kiri komponen, ulang tata letak keselarasan dengan:
  setLayout (baru FlowLayout (FlowLayout.LEFT)); 
BoxLayout tempat item dalam satu baris atau kolom. Lem dapat ditambahkan sebagai pengisi ruang yang fleksibel menggunakan metode Box.createGlue (), Box.createHorizontalGlue () dan Box.createVerticalGlue () Struts dapat ditambahkan sebagai pengisi ruang tetap menggunakan. metode createRigidArea (redup), createHorizontalStrut (w) dan createVerticalStrut (h) Catatan:. BoxLayout tidak biasa dalam hal itu harus menggunakan pane dan bukan frame sebagai wadahnya. Sebuah contoh pengaturan BoxLayout untuk keselarasan baris adalah:
  p.setLayout (new BoxLayout (p, BoxLayout.X_AXIS)); 
GridLayout menggunakan baris sederhana dan metafora kolom grid untuk tata letak. Semua komponen dari lebar dan tinggi yang sama dan skala yang sama ketika diubah ukurannya. Format konstruktor adalah:
 setLayout (new GridLayout (baris, cols, x-spasi, y-spasi)); 
BorderLayout digunakan ketika Anda ingin menambahkan komponen untuk maksimal lima bagian diatur dalam Utara, Selatan, Timur, Barat dan posisi Center. BorderLayout adalah manajer default untuk semua panel konten. Jika Anda menempatkan tepat lima komponen dalam BorderLayout wadah dan penggunaan, masing-masing komponen mengisi satu wiayah. Ketika program dijalankan, compiler menentukan ukuran yang tepat dari setiap komponen berdasarkan isi komponen. Ketika Anda mengubah ukuran wadah yang memiliki BorderLayout, daerah juga berubah dalam ukuran. Bila Anda menempatkan kurang dari lima komponen dalam BorderLayout wadah dan penggunaan, setiap daerah komponen kosong menghilang dan komponen sisa memperluas untuk mengisi ruang yang tersedia.
GridBagLayout memungkinkan menempatkan tepat dan ukuran dari setiap widget. Gunakan sifat: jangkar, gridheight, gridwidth, gridx, gridy, mengisi, ipadx, ipady, weightx dan berat.
CardLayout menyajikan widget ditumpuk mirip dengan setumpuk kartu. Hal ini dapat digunakan untuk mempertahankan panel statis tombol kontrol dan lain panel yang lebih dinamis di alam. Penggunaan umum adalah penampil slideshow mana kontrol yang statis dan bingkai foto sebenarnya satu set panel kartu yang disajikan sebagai tombol yang ditekan atau timer disebut.

Layered Desain

Desain berlapis adalah pola arsitektur yang struktur aplikasi sehingga mereka dapat dipecah menjadi kelompok subtasks sedemikian rupa sehingga setiap kelompok subtasks berada pada tingkat tertentu abstraksi. Interface yang paling GUI menggunakan lapisan nested panel, sering dengan manajer tata letak yang berbeda. Sebagai contoh desain berlapis, di sini adalah kode untuk tata letak dua kolom. Kolom kiri adalah satu set pilihan masukan. Kolom kanan adalah seperangkat tombol 'go'. Sebuah GridLayout kolom dua tidak digunakan karena menganggap kedua kolom dan baris akan sama ukuran. Sebaliknya kita membagi layar dengan BorderLayout dan kemudian menggunakan dua GridLayouts kolom tunggal. The GridLayout kiri lebih lanjut dibagi dengan menggunakan FlowLayout untuk captioning. Potong dan paste berikut ke sebuah file yang bernama Layer.java, mengkompilasi dan menjalankan untuk melihat efek Catatan:. The Model MVC digunakan untuk mengisolasi pandangan coding coding dari tindakan model.
CATATAN: Tombol-tombol yang dibuat oleh demo ini tidak menyediakan fungsi tersirat mereka tetapi hanya mencetak pesan dan mengakhiri program. Untuk sepenuhnya melaksanakan aksi tombol, konsultasikan baik pendengar basic event dengan bersarang jika konstruksi atau pendengar acara canggih .

Tampilan dan Nuansa

Ayunan memungkinkan mode render tiga: lihat bersatu 'Java' dan merasa [default], tampilan platform asli, atau melihat platform tertentu itu. Jika Anda ingin mengubah dari default ke tampilan platform asli, tambahkan berikut pada awal metode kelas pendorong utama:
   try {UIManager.setLookAndFeel (UIManager.getSystemLookAndFeelClassName ());}
   catch (Exception e) {} 
Jika Anda ingin menggunakan tampilan selain default atau yang asli, Anda harus terlebih dahulu memeriksa apa yang tersedia. Untuk alasan hak cipta, pandangan Mac tidak tersedia di Windows dan sebaliknya. Untuk memeriksa apa gunanya tersedia:
  UIManager.LookAndFeelInfo [] = laf UIManager.GetInstalledLookAndFeels ();
 for (int i = 0; i 
     {System.out.println ("Kelas Nama:". + Laf [i] getClassName ());
       System.out.println ("Nama:". + Laf [i] getName ());} 
Jika Anda ingin mengubah tampilan setelah memulai (misalnya membiarkan pengguna memilih tampilan) pastikan untuk membuat semua komponen memperbarui penampilan mereka. Panggilan kelas SwingUtilities metode updateComponentTreeUI (Komponen) dengan komponen antarmuka pengguna utama seperti objek JFrame sebagai argumen.

Auditory Isyarat

Isyarat pendengaran adalah potongan suara yang terjadi sebagai bagian dari acara GUI seperti tombol tekan atau popup window. Java menggunakan L nya & F manager untuk mengakses file suara umum untuk Logam, Mac atau Windows. Ini menggunakan daftar putar untuk jenis tertentu peristiwa seperti dekat, kesalahan dan item menu. Ambil Audio untuk demo.

Menubars, Toolbars, popups

Bar penarikan Dropdown / menu adalah menu serupa dengan yang muncul di bagian atas program Windows yang paling. Bar menu dibangun dari kelas JMenuBar. Menu (bar item alias) yang dibangun dari kelas JMenu dan item menu dari kelas JMenuItem. Pemisah item yang dapat ditambahkan ke menu dengan addSeparator () atau dimasukkan dengan insertSeparator (posn). Item menu dapat dinonaktifkan (berwarna abu-abu) dengan) setEnabled (palsu) dan diuji dengan isEnabled (. Item menu dapat memiliki cara pintas hotkey ditambahkan dengan menggunakan setMnemonic (char). Kunci Accelerator ditambahkan dengan setAccelerator (). Menubar ditambahkan ke rangka utama dengan menggunakan this.setJMenuBar (obj). MyMenu menunjukkan banyak fitur dari kelas menu termasuk mnemonik, akselerator bersemangat untuk item platform, kotak centang & radiobutton dan ikon.
Dockable toolbar dapat dibangun dari kelas JToolBar. JToolBar (SwingConstants.VERTICAL) menimpa orientasi default. Add () metode menambahkan komponen yang sering ikon. SetFloatable (bool) dan setRollover (bool) mengubah tampilan toolbar. Toolbar selalu sepenuhnya terkena. MyToolBar menunjukkan fitur dari kelas toolbar termasuk kelas tindakan.
Konteks menu popup sensitif diungkapkan oleh beberapa aksi pengguna (seperti klik kanan) dan terlihat mirip dengan kotak dialog. MyPop menunjukkan JPopupMenu dan beberapa fitur dari kelas menu popup termasuk pendengar khusus.

Tutorial Source Code

Mendapatkan sumber untuk FlowGUI, BoxGUI, GridGUI, BorderGUI, GridBagGUI dan CardLayoutGUI menggunakan MVC sini. Kompilasi demo masing-masing dan perhatikan bagaimana pembentukan kerak pada resize bekerja.

0 comments:

Post a Comment

 

Ikbal Achmad Fahreza Copyright © 2011 - |- Template created by O Pregador - |- Powered by Blogger Templates