komponen swing isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox...

41
Komponen Swing I

Upload: ngothien

Post on 16-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Komponen Swing I

Page 2: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Object Oriented Pemrograman yang mendukung konsep objek.

(inheritance, capsulation, polymorphism) WORE (Write Once Run Everywhere) Program hasil kompilasi dapat dijalankan pada

berbagai OS. Penerapan Luas Desktop Application, Applet, Server Side

Programming, Mobile Application.

Page 3: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Inheritance (pewarisan) Extends single inheritance

Implements multi inheritance Encapsulation (pengaturan hak akses) public, private, protected

Polymorphism Satu nama berbeda fungsi

Page 4: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Setiap statement program diakhiri dengan semicolon (;) kecuali block

Bersifat CASE SENSITIVE Nama Class harus sama dengan nama File Mendefinisikan minimal satu class Class hanya memiliki satu main method Block program dengan {} Komentar dengan menggunakan /*…*/ atau //

Page 5: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Berbagai program sudah menggunakan GUI (Graphical User Interface) sehingga menarik dan user friendly

Untuk JAVA, komponen aplikasi desktop adalah komponen Swing (package javax.swing) dan AWT (package java.awt)

Page 6: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Component Layout Event Handling

Page 7: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

frame

button

radio

button

checkbox

label

Page 8: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Berguna untuk menentukan posisi setiap komponen yang kita buat.

Susunan komponen di layar :

Absolute : koordinat x, y ditentukan untuk setiap komponen.

Relatif terhadap posisi komponen lain / ukuran,

resolusi layar,

font yang digunakan,

dll.

Page 9: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Button Clicked by User

Event generated by System

Appropriate action taken

Page 10: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

GUI Programming, terdapat 3 libraries yang disediakan oleh Java, yaitu :

AWT (Abstract Window Toolkit) an old library, present in the first Java release.

SWING an inproved library added later, componen name start from J, lightweight, dibangun diatas AWT.

Page 11: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Package terdapat di java.awt. Class Component : Mempunyai method paint untuk menggambar

component pada layar. Class Container : Kumpulan dari komponen yang saling berhubungan.

Mempunyai method add untuk menambah komponen.

Page 12: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Terdapat dua Container utama : Window : sebuah window bebas di layar yang tidak

tergantung pada Container lain. Dua tipe Window Container : ▪ Frame : window yang memiliki title dan sudut yang dapat di

resize. ▪ Dialog : window yang tidak punya menu bar dan tidak dapat

di resize.

Panel : harus berada di dalam container lain, mendefinisikan area yang dapat di isi komponen lain.

Page 13: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Komponen-Komponen GUI Swing, diantaranya :

Page 14: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen
Page 15: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

JFrame merupakan komponen top-level bagi aplikasi desktop. Frame berfungsi sebagai penampung komponen-komponen lainnya.

2 cara membuat Jframe :

Membuat class baru yang memiliki sifat-sifat JFrame dengan cara proses inheritance.

Mendefinisikan sebuah objek dari class JFrame.

Tetapi untuk melakukan hal lain di Swing, Anda harus membuat frame terlebih dahulu.

ket:

w:400 h :400

Page 16: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

void setLayout(null) Layout manager diset null artinya penempatan komponen

bebas di mana saja dengan menentukan koordinat x dan y. Java menyediakan beberapa Layout manager yang dapat

dipakai: FlowLayout, BorderLayout, CardLayout, BoxLayout, GridLayout, GridBagLayout.

void setSize(int width, int height) Menentukan ukuran frame window.

void setVisible(boolean) Menentukan frame window terlihat atau tidak. Secara default

bernilai false.

Page 17: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

void setTitle(String title) void setResizable(boolean) void setLocationRelativeTo(null)

Cara termudah untuk menempatkan lokasi frame window supaya berada tepat di tengah layar.

void setLocation(int x, int y)

Cara untuk menempatkan lokasi frame sembarang terhadap window.

void add(objek komponen)

Menempatkan objek komponen seperti JLabel, JButton, dan komponen lainnya ke dalam frame ini.

Page 18: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Panel adalah suatu container yang dirancang untuk menampung sekumpulan komponen sedemikian rupa sehingga kumpulan tersebut dapat ditampilkan bersama-sama di dalam suatu frame.

Cara yang lazim dilakukan dalam menampilkan sekumpulan komponen kontrol seperti text field, label, dan button adalah dengan menambahkan komponen-komponen tersebut ke dalam sebuah panel, kemudian panel tersebut ditambahkan ke dalam sebuah frame.

Box with blue border indicates a JPanel without anything inside of it.

Page 19: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

JFrame has default layout manager : Border Layout JPanel has default layout manager : Flow Layout Pertemuan 1,2,3 kita akan tetap menggunakan

“setLayoutManager(null);” JFrame frame = new JFrame();

frame.setLayout(null);

JPanel panel = new JPanel();

panel.setLayout(null);

Page 20: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

How to create a JPanel like this ?

Page 21: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

1. panel.setBorder(BorderFactory.createLineBorder

(Color.blue));import javax.swing.BorderFactory;

and import java.awt.Color;

2. panel.setBackground(new Color(0, 255, 0));

Page 22: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Teknik Umum : Buatlah sebuah JFrame untuk antarmuka aplikasi utama,

Lalu, buatlah JPanel,

Tempatkan semua komponen Swing di dalam JPanel tersebut,

Tempatkan JPanel ke dalam JFrame,

setVisible true pada JFrame,

Buat objek JFrame di main method.

Page 23: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

A label is a component that simply displays text. Labels are used for a variety of purposes:

to display captions for other controls such as text fields or combo boxes,

to display informational messages, or

to show the results of a calculation or a database lookup.

A label can also display an image, or it can display both an image and some text. And we have complete control over the appearance of the text

We can specify the font, size, whether the text is bold, italic, or underlined, what color the text is displayed as, and so on.

Page 24: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

void getText(String text) Mendapatkan data text yang tertulis sebagai title

objek JLabel void setText(String judul) Menset teks sebuah JLabel

void setFont(“jenis font”, 0/1/2, int Ukuran) Menentukan jenis font yang digunakan di JLabel, style

huruf (o:plain, 1:bold, 2:italic) dan ukuran font

Page 25: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

void setAlignmentHorizontal(int)

Menentukan format text apakah rata kiri (JLabel.LEFT), rata kanan (JLabel.RIGTH), atau rata tengah (JLabel.CENTER)

void setBounds(int x, int y, int width, int height)

Menentukan penempatan objek JLabel di dalam suatu JPanel atau JFrame dengan menset koordinat x dan y serta lebar dan tingginya. Posisi paling pojok kiri atas adalah (0,0). Jika lebar label tidak mencukupi untuk teksnya, maka akan diakhiri dengan teks “…”.

void setForeground(Color)

Menentukan warna huruf yang akan digunakan. Defaultnya adalah hitam. Dapat menggunakan konstanta seperti Color.red, Color.blue, Color.green, dll.

Untuk warna lain dapat menggunakan format :

▪ new Color(int R, int G, int B) void setBackground(Color)

Page 26: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Merupakan komponen interaktif untuk mendapatkan data dari user. Data yang disimpan berupa String Untuk mengubah data dapat menggunakan teknik Parsing :

int count = Integer.parseInt(textField1.getText()); short count = Short.parseShort(textField1.getText()); long count = Long.parseLong(textField1.getText()); byte count = Byte.parseByte(textField1.getText()); float count = Float.parseFloat(textField1.getText()); double count = Double.parseDouble(textField1.getText());

Page 27: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

JTextField(int)

Konstruktor dari class JTextField di mana parameter bertipe int untuk menentukan panjang JTextField

String getText()

Mendapatkan teks yang tersimpan di JTextField void setText(String)

Menampilkan data berupa teks atau String di JTextField. Untuk mengosongkan data di JTextField cukup dengan menset nilai “”.

void setForeground(Color) void setBackground(Color) void setFont(Font) void setEditable(boolean)

Menentukan apakah objek ini dapat diedit atau tidak. Secara default bernilai true. void setBounds(int x, int y, int width, int height)

Page 28: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Next to labels, the Swing component you use most is the JButton component, which creates a button the user can click.

Page 29: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

void setText(String teks) Menentukan teks yang akan ditampilkan pada tombol.

void setFont(“jenis font”, int tipe, int size) void setBounds(int x, int y, int width, int height) void addActionListener(this) Mengaktifkan JButton untuk melakukan suatu proses

pada saat di klik. Untuk mengaktifkan method ini suatu class harus mengimplementasikan interface ActionListener dan juga method public void actionPerfomrd(ActionEvent ae)

Page 30: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Kita dapat menambahkan sebuah gambar kepada JLabel dan JButton dengan cara membuat dan men-set objek ImageIcon pada label dan button tersebut.

Contoh membuat label bergambar : ImageIcon gambar1 = new ImageIcon(“icon1.gif”);

JLabel label = new JLabel(gambar);

Contoh membuat button bergambar : JButton button = new JButton(new ImageIcon(“icon2.gif”));

cara lain, gunakan methode “setIcon()”

Page 31: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen
Page 32: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Salah satu feature Swing adalah dapat menginterpretasi teks HTML di dalam JLabel dan JButton.

Contoh : JButton htmlButton = new JButton(“<html>S<font size=-

2>MALL<font size=+0>C<font size=-2>APITALS”);

String htmlTable = “<html><table border=1>”

+”<tr><td>One</td><td>Two</td></tr>”

+”<tr><Three</td><td>Foure</td></tr>” + “</table>”;

JButton htmlButton2 = new JButton(htmlTable);

Page 33: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Normally, you would use getText( ) to retrieve the text typed into the JPasswordField. This method, however, is deprecated; you should use getPassword( ) instead.

The getPassword( ) method returns a character array rather than a String object. This is done because character arrays are a little less vulnerable than Strings.

JPasswordField behaves just like a JTextField (it's a subclass), except every character typed is echoed as the same, obfuscating character, typically an asterisk.

The creation and use of JPasswordField is basically the same as for JTextField. If you find asterisks distasteful, you can tell the JPasswordField to use a different character using the setEchoChar( ) method.

Page 34: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

The Timer class provides a mechanism to generate timed events.

It has properties and events, and thus can be used in application builders that understand JavaBeans.

It fires an ActionEvent at a given time. The timer can be set to repeat, and an optional initial

delay can be set before the repeating event starts.

Page 35: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Class Timer digunakan untuk menghasilkan kejadian / event setiap selang waktu tertentu dalam satuan ms. Kejadian ini dapat dideteksi dengan mengimplementasikan interface ActionListener.

Dengan demikian di dalam program yang menggunakan class Timer agar bisa dideteksi aktivitas objek Timer-nya, maka program class haru mendefinisikan method actionPerformed() seperti pada JButton.

Page 36: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Berbeda dengan objek JButton yang eventnya terdeteksi pada saat di klik, objek Timer eventnya hanya bisa terdeteksi secara periodik setiap selang waktu tertentu sebagaimana ditentukan pada waktu objek Timer dibuat.

Method standar:

Timer(miliseconds, this)

▪ Konstruktor untuk membuat objek timer dengan menset interval waktunya.

void start()

▪ Memulai mengaktifkan timer itu sendiri, dan setiap selang waktu tertentu event dari objek Timer bisa dideteksi.

void stop()

▪ Mengakhiri proses suatu objek Timer, sehingga eventnya tidak bisa dideteksi lagi.

Page 37: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Dialog biasanya digunakan untuk menampilkan informasi kepada user atau menanyakan sesuatu.

Dialog dapat diakses dengan menggunakan static methods yang terdapat pada class JOptionPane.

Page 38: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Jenis Dialog Fungsi

- void showMessageDialog(null, “informasi”) - void showMessageDialog(null, “informasi”, “title”,

jenis_tombol, jenis_ikon)

Menampilkan suatu pesan kepada user, biasanya disertai dengan sebuah tombol OK

-int showConfirmDialog(null, “informasi”) -int showConfirmDialog(null, “informasi”, “title”,

jenis_tombol, jenis_ikon)

Menanyakan sebuah pertanyaan dan menampilkan tombol jawaban: Yes, No, dan Cancel

String showInputDialog(“Judul”) Meminta user untuk memasukkan suatu String

Option dialogs Tipe yang paling umum. Kita dapat menyimpan berbagai komponen di dalamnya.

Page 39: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen

Jenis tombol yang dapat digunakan : JOptionPane.DEFAULT_OPTION JOptionPane.OK_CANCEL_OPTION JOptionPane.YES_NO_OPTION JOptionPane.YES_NO_CANCEL_OPTION

Jenis ikon yang dapat digunakan : JOptionPane.QUESTION_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.ERROR_MESSAGE

Page 40: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen
Page 41: Komponen Swing Isi.itmaranatha.org/v2/attachments/article/341/01...button radio button checkbox label Berguna untuk menentukan posisi setiap komponen yang kita buat. Susunan komponen