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
Inheritance (pewarisan)
Extends single inheritance
Implements multi inheritance
Encapsulation (pengaturan hak akses)
public, private, protected
Polymorphism
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 {}
Berbagai program sudah menggunakan GUI
(Graphical User Interface) sehingga menarik
dan user friendly
Untuk JAVA, komponen aplikasi desktop
adalah komponen Swing (package
Component
Layout
frame button radio button checkbox label
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.
Button Clicked
by User
Event generated
by System
Appropriate
action taken
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
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
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,
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
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
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
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.
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);
1. panel.setBorder(BorderFactory.createLineBorder
(Color.blue));
import javax.swing.BorderFactory;
and
import java.awt.Color;
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,
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.
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
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)
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());
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.
Next to labels, the Swing component you use most is
the JButton component, which creates a button the user
can
click
.
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)
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”));
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);
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
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
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.
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.
Dialog biasanya digunakan untuk menampilkan informasi kepada
user atau menanyakan sesuatu.
Dialog dapat diakses dengan menggunakan static methods yang
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