BAB 6 (JAVA GRAPHICAL USER INTERFACE) - Pemrograman Berorientasi Objek (PBO)


Graphical User Interface
Graphical User Interface merupakan antar muka grafis yang memfasilitasi interaksi antara pengguna dengan program aplikasi.  Salah satu komponen dalam bahasa pemrograman Java untuk membangun GUI adalah Swing. Komponen ini didefinisikan di dalam paket javax.swing. Swing diturunkan dari Abstract Windowing Toolkit dalam paket java.awt. Hirarki dari komponen Swing adalah :
java.swing.Jcomponent à java.awt.Container  à  java.awt.Component à Java.Lang. Object
JComponent adalah superclass dari semua komponen Swing. Sebagian besar fungsionalitas komponen diturunkan dari superclass ini. Beberapa komponen utama dalam GUI adalah:
  1. Containers: merupakan wadah yang berfungsi untuk menempatkan komponen-komponen lain di dalamnya. 
  2. Canvas: merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk membuat program grafis. Dengan canvas, kita bisa menggambar berbagai bentuk seperti lingkaran, segitiga, dll. 
  3. User Interface (UI) components: contohnya adalah buttons, list, simple popup menus, check boxes, text fields, dan elemen lain 
  4. Komponen pembentuk window: seperti frames, menu bars, windows, dan dialog boxes.

Komponen-komponen Dasar User Interface dengan Swing
Berikut adalah beberapa komponen dasar antarmuka pengguna (user interface) yang disediakan oleh Swing:
  1. Top level containers: adalah container dasar untuk meletakkan komponen-komponen lain. Contohnya adalah JFrame, JDialog, dll.
  2. Intermediate level containers: merupakan container perantara. Umumnya digunakan hanya untuk meletakkan atau mengelompokkan komponen-komponen yang digunakan, baik itu container atau berupa atomic component. Contoh dari Intermediate level container adalah JPanel (panel).
  3. Atomic component: merupakan komponen yang memiliki fungsi khusus. Umumnya pengguna langsusng berinteraksi dengan komponen ini. Contohnya adalah JButton (tombol), JLabel (label), JTextField, JTextArea (area untuk menulis teks), dll.
  4. Layout Manager Berfungsi untuk mengatur bagaiman tata letak/posisi dari komponen yang akan diletakkan, satu sama lain di dalam suatu container. Secara default ada 6 buah layout : BorderLayout, BoxLayout, FlowLayout, CardLayout, GridBagLayout & GridLayout
  5. Event Handling : Menangani event yang dilakukan oleh user seperti menekan tombol, memperbesar atau memperkecil ukuran frame, mengklik mouse, mengetik sesuatu dengan keyboard, dll.
Konstruktor untuk membentuk JFrame adalah JFrame() atau JFrame(String NamaFrame). Salah satu method yang sering digunakan di kelas JFrame adalah setDefaultCloseOperation(int ops). Method ini berfungsi untuk mengatur apa yang akan dilakukan oleh program ketika tombil close di klik. Parameter method tersebut di antaranya adalah:
  1. JFrame.DO_NOTHING_ON_CLOSE: tidak ada satu aktivitas pun yang dilakukan secara otomatis apabila frame ditutup.
  2. JFrame.HIDE_ON_CLOSE: frame hanya disembunyikan, namun secara fisik frame masih ada di memori sehingga dapat dimunculkan kembali. Merupakan aktivitas default.
  3. JFrame.DISPOSE_ON_CLOSE: mengilangkan tampilan frame dari layar, menghilangkannya dari memori, dan membebaskan resource yang dipakai.
  4. JFrame.EXIT_ON_CLOSE: menghentikan eksekusi program.
Top level container yang lain adalah JDialog. Berbeda dengan JFrame, JDialog tidak dibuat berdiri sendiri, melainkan dibuat bersama-sama dengan frame sebagai parent-nya. Jika frame parent-nya ditutup, maka dialog akan dihapus dari memori. Kemunculan dialog akan membuat semua input terhadap frame parent-nya akan terblokir sampai dialog tersebut ditutup.

Layout Management
Untuk mengatur layout dari setiap komponen-komponen GUI yang diletakkan pada container, digunakan layout manager.Setiap pane secara default pasti memiliki layout manager. Jika ingin mengubah layout-nya, gunakan  void setLayout(LayoutManager mgr) Java menyediakan 6 buah class standar yang dapat digunakan sebagai layout manager yang terdapat dalam package java.awt, yaitu FlowLayout , GridLayout , BorderLayout , CardLayout ,GridBagLayout , BoxLayout.
  1. Flow Layout merupakan layout manager default yang digunakan JPanel. Layout manager ini meletakkan kompenen yg ada secara berurutan dari kiri ke kanan dan  berpindah baris jika dibutuhkan. Jarak antar komponen baik secara vertikal maupun horizontal dapat ditentukan sendiri. Selain itu, kita bisa menentukan alignment dari komponen yang diletakkan, yaitu rata kanan, rata kiri atau di tengah
  2. Grid Layout merupakan layout manager berbentuk grid. Semua komponen dalam layout ini memiliki ukuran yang sama. Konstruktor GridLayout adalah sebagai berikut:
    1. Grid Layout (rows, columns, hGap, vGap). Konstruktor ini mendefinisikan jumlah baris, kolom, dan ukuran gap horisontal/vertikal antar elemen dalam pixel.
    2. Grid Layout (rows, columns). Konstruktor yang digunakan dengan nilai default hGap dan vGap sama dengan 0.
  3. Border Layout adalah default manager untuk ContentPane. Layout ini menempatkan komponen dengan pendekatan arah mata angin north, south, west, center, east.
  4. Card layout digunakan untuk  menampilkan container-container/panel-panel seperti tumpukan kartu. Hanya satu container yang akan tampil untuk satu waktu. komponen yang diletakkan dengan layout ini berupa object yang bertipe intermediate container yang di dalamnya terdapat atomic component.Salah satu contoh intermediate container adalah tabbed pane (JTabbedPane)
  5. Grid Bag Layout adalah pengaturan layout yang dapat digunakan untuk meletakkan komponen secara bebas. Setiap komponen dapat menempati ukuran yang berbeda dengan komnponen lainnya.
  6. Box Layout digunakan untuk meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan ke bawah (sumbu Y).Penggunaan BoxLayout menggunkan class Box dimana merupakan container yang secara internal telah menggunakan BoxLayout sebagai layout manager-nya

Link:
UMSIDA
Fakultas Sains dan Teknologi UMSIDA

0 Response to "BAB 6 (JAVA GRAPHICAL USER INTERFACE) - Pemrograman Berorientasi Objek (PBO)"

Posting Komentar