• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
41
0
0

Teks penuh

(1)
(2)

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

(3)

Inheritance (pewarisan)

Extends  single inheritance

Implements  multi inheritance

Encapsulation (pengaturan hak akses)

public, private, protected

Polymorphism

(4)

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 {}

(5)

Berbagai program sudah menggunakan GUI

(Graphical User Interface) sehingga menarik

dan user friendly

Untuk JAVA, komponen aplikasi desktop

adalah komponen Swing (package

(6)

Component

Layout

(7)

frame button radio button checkbox label

(8)

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.

(9)

Button Clicked

by User

Event generated

by System

Appropriate

action taken

(10)

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

(11)

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

(12)

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,

(13)
(14)
(15)

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

(16)

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

(17)

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

(18)

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.

(19)

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);

(20)
(21)

1. panel.setBorder(BorderFactory.createLineBorder

(Color.blue));

import javax.swing.BorderFactory;

and

import java.awt.Color;

(22)

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,

(23)

 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.

(24)

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

(25)

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)

(26)

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());

(27)

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.

(28)

Next to labels, the Swing component you use most is

the JButton component, which creates a button the user

can

click

.

(29)

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)

(30)

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”));

(31)
(32)

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);

(33)

 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

(34)

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

(35)

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.

(36)

 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.

(37)

Dialog biasanya digunakan untuk menampilkan informasi kepada

user atau menanyakan sesuatu.

Dialog dapat diakses dengan menggunakan static methods yang

(38)

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

(39)

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

(40)
(41)

Referensi

Dokumen terkait