Sendy Ferdian Sujadi

dokumen-dokumen yang mirip
PEMROGRAMAN II. Materi : nursari2010.blogdetik.com String String Handling Java.util,Java.io. By : Sri Rezeki Candra Nursari

Pemrograman Berorientasi Objek Lanjut Lecture 3: Layout Manager

GUI (Grapichal User Interface)

GUI & Event Handling. Viska Mutiawani, M.Sc

Abstract Window Toolkit

GUI & Event Handling. Viska Mutiawani, M.Sc. 1 Viska Mutiawani - Informatika FMIPA Unsyiah

GUI in Java. Presented by HCI Team Ali Ridho Barakbah Umi Sa adah Nur Rosyid Mubtada i. Supervised by Prof. Kohei Arai

IF PEMROGRAMAN LANJUT GRAPHICAL USER INTERFACE (GUI) 11 DENGAN SWING. Oleh : Andri Heryandi, M.T.

2. Manakah diantara pilihan berikut ini yang merupakan bagian dari event delegation model? Sebuah komponen yang menampilkan message

Arranging Components on a User Interface. Pertemuan 14 Pemrograman Berorientasi Obyek Oleh Tita Karlita

GUI, Ev e Ev n e t n Handling, Ex ception Handling in Java

Modul Praktikum 9 BAB IX LAYOUTING. Departemen Teknologi Informasi Telkom Applied Science School H a l

Materi : GUI AWT & SWING.

Membuat Form Dinamis di Java

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Membangun GUI (dengan AWT & Swing) OOP Java

Pemrograman Berorientasi Obyek. Ramos Somya

1. Mana dari adapter berikut ini yang merupakan class adapter yang benar didalam Java. ComponentAdapter

Graphical User Interface (GUI)

Pemrograman Lanjut. Interface

GRAPHICAL USER INTERFACE (GUI)

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN JAVA 2

Materi 3 Pemrograman Visual

.NET Controls. Control Creation


Percobaan 7 GUI(Graphical User Interface )

A. TUJUAN PEMBELAJARAN

Menghubungkan Database Access Menggunakan Netbeans Oleh : Yuliana Setiowati

Pemrograman Lanjut. Intro to GUI (Graphical User Interface)

Praktikum JTable. Gambar 1

Creating Graphical User Interfaces [1] with Java By: De Rosal Ignatius Moses Setiadi

Membuat User Interface dengan Swing. Program yang dibuat sebelumnya selalu berbasis console User lebih senang berinteraksi dengan

Membuat Aplikasi Database dengan Netbeans

Swing. suatu program. Tetapi, program Anda akan kelihatan tidak menarik dan tidak nyaman digunakan bagi para

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM

BAB IX MEMBUAT FORM 9.1 Membuat Form Secara Konvensional

STMIK DIKTAT SINGKAT MACROMEDIA DREAMWEAVER 8 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER TASIKMALAYA.

Modul 08. User Interface 01

TABEL DATABASE TABEL - KODE BARANG TOKO INFOMART BARANG - NAMA BARANG - HARGA

Object Oriented Pemrograman yang mendukung konsep objek. (inheritance, capsulation, polymorphism)

Modul Praktikum 7 Pemograman Berorientasi Objek

Pokok Bahasan Membuat dan Menempatkan Tabel Menempatkan Footnotes Menempatkan Komentar (Comment) Mencetak Dokumen

PENGENALAN JAVA GUI PROGRAMMING

5/24/2012. Pemograman Berorientasi Objek. Pembahasan. Abstract Windowing Toolkit & Swing. Pembahasan

What is it? 3 x 4 Keypad 4 x 4 Keypad

MATERI 3a Pemrograman Berorientasi Objek (S3)

Bab 9 Menggunakan Tabel

PEMROGRAMAN BERORIENTASI OBJEK

Materi 4 Pemrograman Visual

- Setiap pola yang menggambarkan permasalahan yang terjadi secara berulang, serta

Area kerja. Gambar 1. Tampilan awal MS FrontPage

Slide 6: Writing Classes

Login Screen. This is the Login Screen. You just type your given user id and password to use the application.

Mencari Text 2) 3) KTI A : Week 02 (Pembuatan Dokumen)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET PEMROGRAMAN 2

MODUL PELATIHAN PROGRAM MS. OFFICE WORD 2007 DISUSUN OLEH YAYASAN KURNIA

BAB 7 Abstract Windowing Toolkit dan Swing

PERTEMUAN VI AWT DAN SWING TUJUAN PRAKTIKUM. 1. Praktikan mengenal pembuatan GUI pada Java. 2. Praktikan memahami action pada objek dalam Java.

PERTEMUAN 6 AWT & SWING

visit :

PEMBUATAN BAHAN AJAR KIMIA BERBASIS WEB MENGGUNAKAN MICROSOFT FRONTPAGE

PENDAHULUAN TENTANG NETBEANS

GARIS-GARIS BESAR PROGRAM PERKULIAHAN (GBPP)

Pemrograman Web. Object Oriented Programming in PHP 5

Sendy Ferdian Sujadi

Tugas IV Kelas Virtual Pemr. Visual

MENGORGANISASIKAN OBJEK GAMBAR

Bab 16 Mengekspor Data, Mengambil Data dari Luar dan Menggunakan Password

Data Structures. Class 4 Arrays. Pengampu : TATI ERLINA, M.I.T. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

User interface & XML Layout

Pertemuan IV. Semester 1

Pemrograman Java III

2. What s the name of picture or symbol in desktop which has fuction to open Program? a. toolbar b. icon c. shortcut d. menu

12/8/2012 MODUL -10. Apa itu SPSS? Apa yang bisa dilakukan SPSS? Apa kesamaan SPSS dengan Microsoft Office Excel?

DAFTAR KONTEN. MATERI SHARING SESSION MS EXCEL CMPDP 2016 Oleh Arsyil Hendra Saputra. Protection & Hidden Formula Bar (Hal. 1)

TABEL. Tabel Halaman 25

PENGGUNAAN JTABLE. Gambar 1. Aplikasi 1 : TestTable1.java

TUGAS 1 SISTEM MANAJEMEN BASIS DATA-S1 LAPORAN PRAKTIK SISTEM BASIS DATA

PBO LANJUT USING WYSIWYG EDITOR FOR BUILDING GUI. Niko Ibrahim, MIT Universitas Kristen Maranatha

LAMPIRAN MODUL 3 PERANCANGAN SISTEM INFORMASI

PEMROGRAMAN BERORIENTASI OBJEK

1.Tujuan. 2. Latar Belakang

Pemograman Swing. Netbeans:

FORMULA BAR (F2) FORMAT CELL SORT FORM FILTER PIVOT FILL AUTOFORMAT

BAB I PENDAHULUAN. Maksud dan tujuan dari pembuatan Aplikasi Penentu Nilai Mahasiswa pada pemrograman java adalah:

32-bit and 64-bit Windows: Frequently asked questions

BAB VII. Ringkasan Modul:

GUI Event Handling. minggu 13. Wednesday, 16 May 12

Membuat Menu Login Sederhana [Full Coding]

1. Desktop Microsoft Windows

A. TUJUAN PEMBELAJARAN

Pengantar. Word Processor. Rino A Nugroho, S.Sos, M.T.I Updated

FAKULTAS TEKNOLOGI INFORMASI UNISKA. Modul NetBeans 8.1. Disusun oleh: Mirza Yogy Kurniawan. Modul Praktek NetBeans 8.1 Studi Kasus Perpustakaan

Pelatihan Microsoft Excel

I. Praktek: Transformation Untuk Membaca 1 File Excel

Kumpulan Tutorial Pengolahan Tabel Pada Microsoft Word 2010 OLEH RIZKIA NUR FAJRIYATI NIM: J1B114030

MODUL PELATIHAN PROGRAM MS. OFFICE EXCEL 2007 DISUSUN OLEH YAYASAN KURNIA

Transkripsi:

Sendy Ferdian Sujadi 1

Layout Manager JTable 2

Komponen dapat diorganisasikan di dalam container dengan menggunakan class layout manager. Kita dapat mengubah secara manual class layout yang ingin digunakan, dan setiap container dapat memiliki layout manager masing-masing. Layout manager menentukan posisi dan ukuran setiap komponen di dalam container. Proses ini akan berbeda untuk setiap class layout yang digunakan. AWT dan Swing memiliki beberapa layout manager standar yang penggunaannya seringkali dikombinasikan sesuai situasi dan kebutuhan kita. Seperti pada gambar, layout manager bertugas menyusun komponenkomponen (button, label, checkbox, dll) di dalam suatu container (panel, frame, dll). 3

Setiap container memiliki default layout manager. Pada saat kita membuat sebuah container (misal: panel, frame, tabbed pane, split pane, dll), maka container tsb memiliki objek LayoutManager masingmasing. Kita dapat mengubah layout manager default tersebut dengan suatu layout yang baru dengan menggunakan method setlayout() Contoh: Default layout manager untuk JFrame adalah: FlowLayout Kita dapat mengubah layout tersebut dengan cara misalnya: frame.setlayout(new BorderLayout()); 4

BorderLayout (default layout manager for a window, dialog, and frame) FlowLayout (default layout manager for a panel and applet) GridLayout (menyediakan fleksibilitas dalam menempatkan komponen) BoxLayout CardLayout GridBagLayout 5

BorderLayout menyusun komponen berdasarkan lokasi geografis: NORTH, SOUTH, EAST, WEST, and CENTER. Secara optional, kita dapat juga memberikan padding di antara komponen. BorderLayout merupakan layout default untuk JWindow, JDialog, dan JFrame. Karena setiap komponen diasosiasikan dengan suatu arah geografis, akibatnya layout ini hanya dapat menangani maksimal 5 komponen. 6

Pada saat menambahkan suatu komponen kepada container yang memiliki border layout, kita harus menentukan secara bersamaan komponen-nya dan posisi-nya. Contoh: frame.setlayout(new BorderLayout()); frame.add(new JButton("Button1"), BorderLayout.NORTH ); frame.add(new JButton("Button2"), BorderLayout.SOUTH ); 7

8

9

FlowLayout merupakan layout manager yang simpel. FlowLayout menyusun komponen berdasarkan ukuran default masing-masing, dengan posisi mulai dari kiri ke kanan dan dari atas ke bawah di dalam container yang digunakan. FlowLayout dapat memiliki row justification : LEFT, CENTER, atau RIGHT serta padding horizontal/vertical. Secara default, flow layout menggunakan justification CENTER. Artinya, semua komponen akan disimpan di posisi tengah-tengah. FlowLayout merupakan default untuk JPanel. Pada dasarnya, untuk aplikasi sesungguhnya, kita tidak disarankan menggunakan FlowLayout karena sifatnya yang tidak bisa memposisikan komponen dengan pasti. 10

11

GridLayout menempatkan komponen dalam bentuk rectangular grid. Ada 3 constructor untuk GridLayout: GridLayout(): membuat layout dengan satu kolom per komponen. Hanya satu baris yang digunakan. GridLayout(int rows, int cols): membuat suatu layout berdasarkan jumlah baris dan kolom yang diinginkan. GridLayout(int rows, int cols, int hgap, int vgap): membuat layout berdasarkan jumlah baris dan kolom yang diinginkan, serta ukuran jarak (gap) horisontal maupun vertical untuk setiap baris dan kolom tersebut. GridLayout menempatkan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah. GridLayout akan memaksa setiap komponen untuk menempati space container yang kosong serta membagi rata ukuran space tersebut. 12

GridLayout paling cocok digunakan untuk menyusun komponen yang berukuran sama, misalnya 2 buah JPanel berukuran sama di dalam sebuah JFrame. Contoh: frame.add(panel1); frame.add(panel2); frame.setlayout(new GridLayout(2, 1)); Kita dapat men-set jumlah baris dan kolom dengan angka 0. Artinya, kita tidak mempedulikan berapa banyak komponen yang akan masuk ke dalam dimensi layout manager tersebut. Contoh: GridLayout(2,0) Artinya: kita membuat layout manager dengan 2 baris dan unlimited number untuk kolomnya. Apa yang terjadi kalau kita memiliki 10 komponen? 13

14

Layout manager yang telah kita bahas sebelumnya merupakan bagian dari package java.awt. Javax.swing memiliki beberapa tambahan layout manager lagi, salah satunya adalah: BoxLayout. Layout manager ini sangat berguna untuk membuat toolbars sederhana atau vertical button bars. Cara kerjanya sangat sederhana yaitu menempatkan komponen dalam satu baris atau satu kolom. Untuk mempermudah penggunaan BoxLayout, Swing menyediakan sebuah kelas yang bernama Box yaitu sebuah container yang secara otomatis memiliki BoxLayout manager. Box memiliki beberapa methods yang akan mempermudah kita dalam menggunakan BoxLayout manager, yaitu: createhorizontalbox() untuk membuat box horizontal createhorizontalglue() untuk merekatkan komponen createhorizontalstrut(int n) untuk memberi jarak antar komponen createverticalbox() untuk membuat box vertical createverticalglue() createverticalstrut(int n) untuk merekatkan komponen untuk memberi jarak antar komponen 15

16

CardLayout merupakan layout manager yang mampu menciptakan efek tumpukan komponen. Artinya, layout ini tidak memposisikan komponen di lokasi-lokasi tertentu di dalam kontainer, melainkan menampilkannya satu demi satu. Penggunaan CardLayout biasanya untuk membuat panel yang bersifat custom-tabbed. Namun, sebenarnya kita dapat membuat panel tersebut dengan menggunakan komponen JTabbedPane. Untuk mempraktekkan cara kerja dan efek tumpukan dari CardLayout ini, kita perlu mempelajari terlebih dahulu mengenai event-driven programming. 17

18

GridBagLayout merupakan layaout manager yang sangat fleksibel. Layout ini memampukan kita untuk memposisikan komponen relatif terhadap komponen lainnya berdasarkan constraint tertentu. Dengan menggunakan GridBagLayout, kita dapat menciptakan layout apapun juga, tanpa batas. Komponen disusun pada koordinat tertentu pada sebuah grid yang disebut logical coordinate. Logical coordinate berarti bahwa koordinat suatu komponen ditentukan oleh sekumpulan komponen lainnya. Baris dan kolom dari grid tersebut bersifat stretch yang bergantung pada size dan constraint yang dimilikinya. Walaupun fleksibel, pembuatan GridBag ini terkadang sangat membingungkan karena kita harus mengatur berbagai size dan constraint dari setiap komponen yang digunakan. Sebenarnya, penggunaan GridBagLayout ini jauh lebih mudah apabila kita menggunakan tools yang mendukung WYSIWYG GUI builder. (contohnya: NetBeans IDE) 19

20

21

Tables present information in orderly rows and columns. This is useful for presenting financial figures or representing data from a relational database. The JTable class represents a visual table component. A JTable is based on a TableModel, one of a dozen or so supporting interfaces and classes in the javax.swing.table package. 22

JTable has one constructor that creates a default table model for you from arrays of data. You just need to supply it with the names of your column headers and a 2D array of Objects representing the table's data. 23

24

To achieve more flexibility with JTable, we'll write our own data model by implementing the TableModel interface. Swing makes this easy by supplying a class that does most of the work, AbstractTableModel. To create a table model, we'll just subclass AbstractTableModel and override whatever behavior we want to change. At a minimum, all AbstractTableModel subclasses have to define the following three methods: public int getrowcount( ) public int getcolumncount( ) Returns the number of rows and columns in this data model public Object getvalueat(int row, int column) Returns the value for the given cell When the JTable needs data values, it calls the getvalueat( ) method in the table model. To get an idea of the total size of the table, JTable calls the getrowcount( ) and getcolumncount( ) methods in the table model. 25

Add column headings to the table model Returns the number of rows and columns in this data model Returns the value for the given cell 26

27

All this, and all we can do is render and edit data in a table. "What about selecting data?". Yes, we can do that, too. And, as you might expect, the ListSelectionModel drives us through these selections. Unlike most of the other components, however, the two-dimensional JTable has two selection models, one for rows and one for columns. 28

The example shows an application that allows you to turn on and off the various selections allowed on a table (cell, row, and column). As you select different rows and columns, two status labels show you the indices of the selected items. 29

30

31

Let's look at the code for this example. Most of the work is creating the user interface you see running. Once that's done, we attach our two reporting labels as listeners to the row selection and column selection models. The interesting part of the code is the ListSelectionListener, written as an inner class. This class tracks any ListSelectionModel and updates a label with the currently selected indices every time it changes. (Those indices are retrieved using the getselectedindices( ) method we wrote ourselves.) Since we rely on only the list selection model, we can use the same event handler for both the row and the column selections. 32