Pemrograman Berorientasi Obyek
Ramos Somya
User Interface (UI) mencakup semua interaksi dan komunikasi antara sebuah program dan pemakainya termasuk semua yang didengar dan dirasakan. Kemudahan dan kecepatan dalam berinteraksi bahkan memegang arti yang sangat penting pada UI. UI yang tersedia pada java adalah: - Standard I/O - Abstract Window Toolkit (AWT) - Swing
Standard Input dan Output serta Error adalah cara kuno dalam membangun sebuah UI. Saat ini masih dapat digunakan, tapi hanya sebatas untuk testing, debugging program atau untuk program yang tidak digunakan oleh end user. Contoh:
AWT menyediakan berbagai komponen Graphical UI (GUI) seperti button, list, menu, textarea, dialog, dll.
Merupakan pengembangan dari AWT yang juga menyediakan komponen-komponen graphical yang dimiliki AWT dan komponen tambahan lainnya. Sering dipakai untuk membangun aplikasi dekstop berbasis Java.
Klik Kanan Project – New – Frame Form – Finish. Kalau tidak ada, klik Other – AWT GUI Forms – Frame Form – Finish.
Klik kanan Project – New – JFrame Form – Finish. Klik Kanan Project – Other – Swing GUI Form – JFrame Form – Finish.
Kali ini akan dibahas lebih mendetil tentang cara pemakaian dari setiap komponen yang sering digunakan. Karena jumlah komponen yang sangat banyak maka pembahasan difokuskan pada komponen Swing.
Komponen dalam Swing dibagi 3 secara garis besar: - Top Level Container - Intermediate Level Container - Attomic Component
Merupakan object yang digunakan untuk meletakkan komponen lain di atasnya. Setiap container memiliki Content Pane sebagai tempat untuk meletakkan komponen lain kecuali menu bar yang letaknya sejajar dengan content pane. Yang termasuk dalam kelompok ini adalah JFrame, JDialog dan JApplet .
Langsung coba di NetBeans…..
Terdiri dari beberapa class yaitu JOptionPane (dialog standar), JProgressBar (indikator proses), JColorChooser (memilih warna), JFileChooser (memilih file), dll. Akan dibahas class yang paling sering digunakan yaitu JOptionPane.
Digunakan untuk mempermudah dalam meletakkan komponen lain seperti label, button, dll. Komponen-komponen intermediate container adalah JPanel, JScrollPane dan JTabbedPane.
class ini sering dipakai menjadi container. Dalam sebuah Frame bisa menampung lebih dari satu Panel. Panel bisa juga diletakkan di dalam panel lainnya, tergantung ke butuhan. Langsung dicoba saja….
Seperti Panel namun memiliki scroll (vertikal dan horizontal) sehingga cocok dipakai untuk menampung object yang ukurannya cukup besar atau object dalam jumlah yang banyak.
Langsung dicoba saja…
Beberapa panel yang bertumpuk-tumpuk dan dapat dipilih panel mana yang ditampilkan.
Langsung dicoba…
Merupakan komponen yang tidak menampung komponen lain. Digunakan sebagai jalur informasi dalam interaksi dengan user baik untuk input maupun output. Beberapa di antaranya adalah JButton, JLabel, JComboBox, JTextField, dll. Akan dibahas beberapa komponen yang sering digunakan.
JLabel Menampilkan teks maupun gambar yang tidak dapat diselect. JTextField Digunakan untuk menampung input string yang pendek. JPasswordField Sama dengan JTextField namun karakter yang diketik tidak tampil melainkan karakter tertentu yang tampil. JTextArea Memiliki jumlah baris dan kolom yang cukup banyak, digunakan untuk mengambil input String yang panjang.
JComboBox Untuk memilih salah satu pilihan di dalamnya. JButton Object input berupa tombol yang biasanya digunakan untuk mengeksekusi suatu proses. JRadioButton Untuk memilih salah satu pilihan saja. JCheckBoc Untuk memilih satu atau lebih pilihan.
Buat Form untuk menginputkan data pribadi dan menampilkannya ke dalam JOptionPane:
Buat Aplikasi Kalkulator Sederhana:
Tampilkan hasil perhitungan pada JOptionPane.
Modifikasi Latihan 2 sehingga menjadi:
Tambahkan proteksi bahwa field harus diisi. Tampilkan message-nya dengan JOptionPane. Tambahkan untuk proteksi inputan harus berupa angka.
Dikerjakan secara kelompok seperti minggu lalu (maksimal 5 mahasiswa). Dikumpulkan dalam hardcopy, sertakan source code, output dan penjelasan program. Dikumpulkan pada hari Senin, 18 Juli 2011 pukul 09.00 – 11.00 WIB. NO COPY PASTE !!