Operator dan Control Flow adalah jantung dari program Control Flow
mempunyai kemampuan untuk
mengendalika njalan dari program.Tanpa Operator dan Control Flow, program tidak akan mampu melakukan
banyak hal. Ada beberapa jenis Operator dan Control Flow dalam Java, yaitu:
1. Aritmatika Operator
2.
Logika Operator
3.
Bit per bit operator
Operator
|
Nama
|
Keterangan
|
~
|
NOT
|
Mengubah 0 menjadi 1 dan 1 menjadi 0
|
&
|
AND
|
1 & 1 = 1
selain itu hasilny aselalu 0
|
|
|
OR
|
0|0 = 0
selain itu hasilnya selalu 1
|
^
|
XOR
|
0^0 = 0, 1^1 = 0 selain itu hasilnya 1
|
>>
|
SHIFT RIGT
|
Dorong 1
bit ke kana ntermasuk tanda minus
|
>>>
|
SHIFT RIGT
|
Dorong 1
bit ke kanan isi bit paling kiri dengan 0
|
<<
|
SHIFT LEFT
|
Dorong 1 bit
kekiri
|
4.
Relasional
Operator
|
Keterangan
|
>
|
LebihBesar
|
<
|
Lebihkecil
|
>=
|
Lebihbesaratausamadengan
|
<=
|
Lebihkecilatausamadengan
|
!=
|
Tidaksamadengan
|
= =
|
Samadengan
|
5.
Prioritas
Operator
|
( ) [ ]
|
++ -- ~!
|
*/ %
|
+ -
|
>> >>> <<
|
>>= <<=
|
== ! =
|
&
|
^
|
|
|
&&
|
||
|
?:
|
=
|
6. Pernyataan if
8.
Pernyataan switch, case dan break
9. Pengulangan(Loop)
Pengulangan dengan while
Pengulangan dengan for
Break, continue
String
String adalah obyek yang terdiri atas
deretan karakter.Tidak seperti array dari karakter,
String tidak perlu ditentukan jumlah panjang karakternya. String dapat langsung
di inialisasi tanpa kata kunci new, contoh
:
StringTokanizer
Java mempunyai operator aritmatikaseperti + (penjumlahan), - (pengurangan),*(perkalian), / (pembagian) dan % (modulo). Operator – operator
ini berlaku seperti dalam
operasi aritmatika. Dalam Java juga dimungkinkan untuk penyederhanaan penulisan operator seperti yang terlihat di bawah ini;
Int a, b, c, d, e,
a = 15;b =10; //=80;d=100;e=20;
a+ = 5; //sama dengan a = a+5
b- =e; //sama dengan b
= b-e
c* =b; //sama dengan = c*b
d/ =4; //sama dengan d = d/4
e%=3; //sama dengan e = e % 3, hasilnya
= 2
d++; //sama dengan d = d+1 (increment )
c-- ; //sama dengan c = c-1 (decrement)
Ada tigalogika Operator dalam java yaitu:
&& Logika
/end
|| LogikaOr
| LogikaNot
Ketiga operator tersebut
dioperasikan terhadap Boolean
data tipe yang menghasilkan boolean data type juga
(true atau false)
Variabel bertipe long, int, short, byte dan char dapat mempunyai
operator yang dioperasikan langsung ke susunan binernya
(bit atau bit).
Tabel 2.1 Tabel bit per bit Operator
Seperti
halnya aritmatika operator,
Bit per bit operator juga bias dilakukan Penyederhanaan penulisannya.
Operator relasional digunakan
untuk membandingkan dua nilai. Hasil dari perbandingan tersebut adalah data
tipe Boolean (true atau false).
Tabel 2.2 Tabel operator Rasional
Tipe variable
di java seperti shot, int, long, float, double, Boolean,
dan character dapat
dibandingkan satu dengan yang
lainnya.
Contoh :
Char c = ‘*’;
Inti = 0x2a;
Boolean
b;
b = c = = i;
Setiap operator mempunyai prioritas
sendiri-sendiri, sehingga perhitungan matematika dilakukan sesuai prioritasnya. Lihat contoh dibawah ini :
C = a + b*d;
Akan dijalankan sesuai prioritas yaitu *,+,=
Dibawah ini diberikan table prioritas dari operator, urutan prioritas dari atas ke bawah. Operator
yang sama prioritasnya akan di
operasikan dari kanan ke kiri.
Tabel 2.3 Tabel operator Prioritas
Pernyataan if adalah control
flow yang paling sederhana. Pernyataan ini mengevaluasi suatu
ekspresi. Jika ekspresi
benar (true) maka blok pernyataan akan dijalankan. Sebaliknya computer akan melompati blok pernyataan tersebut.
Sintaks dari pernyataan if :
If (ekspresi)
Pernyataan;
7. Pernyataan if-else
Pernyataan if-else mengevaluasi
suatu ekspresi. Jika ekspresi benar (true) maka blok pernyataan dijalankan. Sebaliknya computer akan menjalankan blok pernyataan yang lain. Sintaks dari pernyataan if-else :
If(ekspresi)
Pernyataan_1;
Else
Pernyataan_2;
Switch digunakan untuk percabangan (seleksi)
lebih dari dua. Ini digunakan untuk menghindari pergunaan if-else yang berlapis-lapis.
Alur program
blok while akan dilakukan berulang-berulang selama ekspresi benar (true). Sintaks dari pengulangan while adalah sbb:
While (ekspresi)
Pernyataan;
Pengulangan dengan
do-while
Pengulangan dengan
while pemeriksaan ekspresi dilakukan sebelum pengulangan. Ada kalanya pengulangan pemeriksaan
ekspresi dilakukan setelah pengulangan. Jadi
minimal satu kali pengulangan dilakukan. Pengulangan ini menggunakan do- while, sintaksnya.
do
pernyataan;
while (ekspresi);
Pengulangan dengan for menyerupai
while, namun dilengkapi dengan inialisasi, test kondisi dan update counter. Jadi sintaks pengulangan dengan for adalah :
for (inialisasi_counter ; test_kondisi ; update_counter) {
instruksi;
----------
};
Inialisasi_counter dilakukan sekali pada saat akan dilakukan
pengulangan, test_kondisi diperiksa
setiap kali sebelum
pengulangan dilakukan, sedangkan
update_counter dilakukan
setiap kali selesai pengulangan.
Dalam pengulangan break digunakan untuk mematahkan (mengakhiri) pengulangan secara paksa. Sedangkan continue
digunakan untuk melanjutkan pengulangan berikutnya secara paksa dengan mengabaikan perintah
dibawah pernyataan continue.
String str = “ Hello “ ;
Str = str + “ Java Programmer” ;
String dapat
juga diciptakan melalui cara berikut :
char c_arr [ ] = { ‘h’, ‘e’, ‘1’, ‘0’ }; String
s1 = new String (c_arr)
;
String s2 = new String (c_arr,
2, 2);
// offset ke 2 sebanyak 2 karakter
Ada beberapa method
dalam String yang perlu kita ketahui antara lain:
Int length ( )
memberikan
nilai balik (return value) panjang dari aktual string.
char charAt (int index)
memberikan nilai balik berupa karakter
pada posisi index dalam aktual
string.
public class
TestString {
public static
void main (String
argv[]) {
String tabel[]={"amir", "bambang","hasan"};
String str = "
Ini adalah # String yang diproses";
boolean found = false;
int I;
for (I=0;
I<str.length(); I++){
if (str.charAt(I)=='#'){
found=true;
break;
}
}
if (found)
System.out.println("Posisi = "
+ I);
}}
int indexOf(char ch)
Memberikan
nilai balik posisi pada String di mana karakter ch berada int indexOf(String s)
Memberikan
nilai balik posisi index pada String dimana stringsditemukan
int
indexOf(char ch, int starPos)
int indexOf(String s, int startPos)
Sama dengan indexOf sebelumnya, hanya pencarian tidak dimulai dari index 0, melainkan dari index = startPos
Int lastIndexOf(char c)
Int
lastIndexOf(char c, int startPos) Int lastIndexOf(String s);
Int lastIndexOf(string s, int startPos)
Method lastIndexOf( ) mencari karakter/String pada String yang diberikan, hanya
pencarian dimulai dri kanan
ke kiri.
Boolean equals (String s)
Membandingkan aktual string dengan
string s dengan mengabaikan huruf besar maupun
huruf kecil. Jika sama maka akan memberikan nilai balik true, sebaliknya akan
memberikan niali balik false.
String substring (int offset)
Memberikan nilai balik isi aktual string
dari posisi offset
sampai akhir string
String substring(int offset, int
endIndex)
Memberikan
nilai balik si aktual string dari posisi offset sampai posisi endIndex String
toLowerCase( )
Mengubah
string menjadi huruf kecil semua String toUpperCase( )
Mengubah spasi yang berdekatan dalam string
Char[ ] getCahrs(int startPos,
int endPos, char buffer[ ], int
offset)
Mengambil karakter dan startPos
sampai endPos, dan menyimpanannya ke dalam buffer
dimulai dari index = offset.
Int compareTo(String str)
Membandingkan String dalam UTF (Unicode Transfer
Format) dengan nilai balik 0 bila sam, negative bila kecil, dan positif bila lebih
besar.
Class StringTokanizer berfungsi
untuk membagi string berdasarkan token tertentu.Class
ini sangat membantu untuk menginterprestasikan suatu string ke suatu maksud tertentu.
Contoh yang paling populer adalah membagi kalimat
menjadi beberapa kata. Kita juga membaca data dari file kemudian data
tersebut kita uraikan berdasarkan token
tertentu.
POKOK BAHASAN III
Class
Class merupakan bagian pokok dari Pemrograman Berorientasi Obyek
(Object Oriented Programming). Class
merupakan cara merakit data-data dan menentukan semua metode yang diperlukan untuk mengakses, menggunakan dan
mengubah data-data tersebut. Dalam java class juga bisa dianggap sebagai type dari object.
Setiap class memiliki
dua hal utama. Yang pertama
adalah yang kita sebut state/atribut/property. State dalam obyek tidak lain adalah nilai dari setiap variable. Bagian
yang kedua adalah
tool atau method
yang menentukan utility
yang dimiliki oleh class.
1.
Pendeklarasian class
Sintaks pendeklarasian class
dalam java adalah
modifiers class NamaClass {
2.
Konstruktur
3.
Inherintance (Pewarisan)
5.
Overriding Method
Overriding method
adalah suatu mekanisme pewarisan class di mana subclass mendefinisikan ulang satu atau lebih
method (fungsi) yang ada di supper class.
Dalam overriding ini subclass bisa mendefinisikan method (fungsi) yang dioverride
dengan fungsi yang baru sama sekali, atau menambahi method (fungsi)
yang di-override yang sudah ada dengan fungsinal-fungsinal yang lain. Contoh
class yang menggunakan mekanisme
overriding
<class attribute
list>
<class method list>
}
modifier menentukan bagaimana class dapat ditangani pada fase development berikutnya. Ada tiga jenis modifier dalam class yaitu public,
final, abstract dan
friendly.
· Public
Dengan menempatkan public didepan pendeklarasian class, mempunyai arti bahwa class didefinisikan untuk public. Ini berarti class tersebut dapat
dipakai atau dikembangkan
(extend) oleh sembarang object.
· Final
Dengan menempatkan final didepan pendeklarasian class menandakan bahwa class tersebut tidak bisa memiliki
subclass (turunan). Dengan kata lain class tersebut tidak bisa dikembangkan.
· Abstract
Dengan menempatkan class didepan pendeklarasian class, menandakan bahwa kita tidak bisa menciptakan obyek dari class
tersebut. Class tersebut
harus dipakai sebagai super class dari class lain. Dalam abstract class paling
tidak ada satu method yang belum komplit.
· Friendly
Secara default modifiers
class adalah friendly
,artinya class tersebut
tersebut boleh dikembangkan atau dipakei oleh class lain dalam satu paket (package). jika kita tidak memberikan
modifiers didepan pendefinisian class maka class bersifat friendly.
<class attribute list> adalah daftar semua atribute (variable) dari class, sedangkan <class method list> adalah daftar semua method (fungsi\operasi) yang bisa dilakukan oleh class tersebut.
Sintaks pendefinsian class attribute : modifiers
data_type nama attribute ;
Sintaks penderfinsian class method :
modifers return_type nama method
(<parameter list>)
Akses modifiers dalam class attriubute maupun class method menentukan bagaimana
aksesbilitas attribute dan method dari class lain. Ada beberapa
akes modifier yaitu:
· Friendly
Secara default akses modifiers adalah friendly , yang berarti
bahwa attribute |mothode
bisa diakses oleh class lain dalam satu paket (package).
· Public
Akses modifiers
public membuat attribute\metbute tersebut dapat diakses oleh pihak luar
manapun.
· Private
Akses modifiers private membuat attribute\method hanya dapat diakses oleh class itu sendiri .
· Protected
Akses modifiers protected
membuat attribute\method hanya
dapat diakses oleh
class itu sendiri
dan class turunanya
(subclass nya ).
· Final
akses modifiers final membuat attribute tersebut tidak boleh diubah
pada saat eksekusi . sebab attribute
ini tidak boleh diubah maka harus diberi nilai pada saat pedeklarasian misal final int SIZE 5;
· Static
Akses modifiers static mebuat attribute tersebut mempunyai nilai sama untuk semua obyek dari class tersebut.
Konstruktur adalah method dengan property yang unik dan untuk keperluan inialisasi pada saat obyek diciptakan.
Jadi konstruktur digunakan memberikan niali kepada attribute tertentu
pada saat obyek diciptakan.Kontruktor didefinisikan dengan nama yang sama dengan
nama class. Konstruktor tidak perlu
return_type sebab konstruktur secara aktual dipanggil sebagai method. Konstruktur ini dipanggil pada saat kita memberikan perintah new.
Inheritance (Pewarisan) adalah suatu mekanisme yang memungkinkan satu class mewarisi (memiliki) attribute dan
method dari class lain. Mekanisme pewarisan
ini diperlukan untuk mengembangkan class-class yang sudah ada tanpa harus membuka
source code dari class-class tersebut.
Class yang mewarisi disebut subclass sedangkan calss
yang diwarisi disebut super class. Pewarisan class dalam java menggunakan sintaks:
modifier<NamaSubClass>extends<NamaSuperClass> {
}
4.
Kata Kunci this
this adalah referensi yang menunjuk pada obyek aktual.
Nilai this ini menunjukkan bahwa
obyek yang dimaksud
adalah obyek yang sedang aktif itu sendiri. Contoh penggunaan dari this adalah
sbb:
5.
Overriding Method
Overriding method
adalah suatu mekanisme pewarisan class di mana subclass mendefinisikan ulang satu atau lebih
method (fungsi) yang ada di supper class.
Dalam overriding ini subclass bisa mendefinisikan method (fungsi) yang dioverride
dengan fungsi yang baru sama sekali, atau menambahi method (fungsi)
yang di-override yang sudah ada dengan fungsinal-fungsinal yang lain. Contoh
class yang menggunakan mekanisme
overriding
POKOK BAHASAN IV
Threads
Property unik dari
java adalah bahwa Java memberi suport adanya threads. Threads memperbolehkan
kita melakukan banyak hal pada waktu yang bersamaan. Threads adalah komponen
java yang memungkinkan kita untuk membuat program yang bersifat multitasking
programming. Sebenarnya setiap program dalam java selalu menggunakan paling
tidak satu thread.
Kita bisa membuat
aplikasi dan class berjalan dalam threads yang terpisah dengan dua cara, yaitu
:
·
Mengembangkan dari class Thread (extending class Thread)
·
Mengimplementasikan Runnable interface
Mengembangkan class Thread
Dengan
menggunakan extends Thread, mekanisme Thread dapat diaplikasikan dengan membuat
fungsi run ( )
Untuk
melihat concurrency (multitasking) pada program tersebut tambahkan method
sleep( ) untuk actual Thread (current Thread). Method sleep( ) hanya dapat
dilakukan dengan menangkap sinyal interrupt dengan mekanisme try & cacth.
Method
yang berhubungan dengan Thread
start( )
Mengaktifkan
Thread Obyek Thread kemudian akan menjalankan method run( ).
stop(
)
Menghentikan
Thread yang sedang aktif.
sleep(
int delta)
Menunda
aktifitas Thread untuk delta millisecond.
Contoh
selanjutnya adalah mendemonstrasikan animasi yang dilakukan dengan menjalankan
Thread. Tugas Thread adalah melakukan repaint( ) pada obyek. Setelah repaint( )
dilakukan, Thread beristirahat untuk beberapa detik dan untuk kemudian
melakukan repaint( ) kembali. Obyek Thread kemudian akan menjalankan method
run( ).
Kemudian
class TThread digunakan oleh class animasi di bawah ini. Class animasi merupakan
pengembangan (extend) dari class Applet. Class Applet digunakan untuk
class-class yang digunakan dalam aplikasi applet (untuk ditampilkan dalam html
file)
Setelah
kita compile kedua class tersebut, yaitu class TThread dan class Animasi, kita
dapat membungkusnya ke dalam file html. Selanjutnya kita dapat mengeksplore
file tersebut dengan internet browser.
Mengimplementasikan
Runnable Interface
Pada
contoh di atas Thread digunakan dengan mengembangkan class Thread, yang mana berarti
bahwa Subclass Thread hanya dapat mewarisi sifat-sifat dari Thread. Pengikatan Class
ini dapat dihindari dengan menggunakan konsep interface. Dengan mengimplementasikan
Runnable interface. Interface Runnable ini hanya berisi satu method yang harus
diimplementasikan, yaitu run().
Konstruktor
Thread adalah :
Thread(Runnable
ThreadObject)
Atau
Thread(Runnable
ThreadObject, String nama Thread)
ThreadObject
pada contoh di atas adalah this, yang merupakan Obyek itu sendiri yang mengimplementasikan
Runnable.
Method
is Active() akan memberikan nilai true jika Thread actual aktif, dan false jika
tidak aktif.
POKOK BAHASAN V
Exception (Eksepsi)
Eksepsi adalah mekanisme yang memungkinkan
program untuk menangkap kondisi-kondisi tertentu yang membutuhkan penanganan
khusus. Eksepsi dapat berupa kesalahan yang terjadi dalam program pada saat run
time. Format eksepsi adalah :
Try {
// blok program
. . . . . .
} catch
(EksepsiTipe1 e) {
// blok program untuk EksepsiTipe1
. . . . . .
} catch
(EksepsiTipe2 e) {
// blok program untuk EksepsiTipe2
. . . . . .
} catch (EksepsiTipe3
e) {
// blok program untuk EksepsiTipe3
. . . . . .
} finally {
// blok program
. . . . . .
}
try menyatakan bahwa dalam
blok try dapat terjadi suatu ekspresi dan bila ekspresi terjadi, maka aktifkan
program yang berada dalam kelompok (blok) catch sesuai dengan tipe
ekspresinya.
Object e dari tipe ekspresi dapat
digunakan sebagai referensi penanganan eksepsi aktual. finally menyatakan bahwa
apapun jenis tipe ekspresinya, maka program dalam blok ini harus tetap
dijalankan.
Dengan menangkap eksepsi program tidak
langsung berhenti dan melaporkan kesalahan tersebut, melainkan membelokkan
dengan program pengaman tertentu.
Pada saat run time, jika java menemukan
kesalahan dan melempar pesan ke program. Dengan pesan ini, program akan
melakukan suatu aksi tertentu. Mekanisme melempar ini disebut juga sebagai throw,
alur program akan dihentikan, kemudian program pengendali (exception handling)
akan diaktifkan.
throw
Throw digunakan secara eksplisit untuk
membuang sebuah eksepsi. Contoh berikutnya, TestThrow mendefinisikan Obyek
Eksepsi “NullPointerException” pada sebuah variabel t. Dengan instruksi throw,
program Eksepsi untuk kemudian ditangkap oleh instruksi catch. Namun tentunya
yang ditangkap harus sesuai degan tipe eksepsi yang dilemparkan. Dalam hal ini
program main menangkap sinyal tersebut dan instruksi program diteruskan pada
blok program disitu.
throws
Eksepsi selalu ditangkap dengan catch
pada blok dimana eksepsi tersebut dilempar. Tanpa catch, program tidak
akan dikompilasi. Program dibawah ini menghilangkan try dan catch
pada subroutine demo( ), namun dengan menggunakan tambahan kata kunci throws
Exception.
Tabel
6.1 Common Jaxa Exceptions
Exceptions
|
Description
|
Arithmeticexception
|
Disebabkan
oleh error secara matematika seperti pembagian dengan nol
|
ArrayIndexOutOfBouns
Exception
|
Disebabkan
oleh array index yang salah
|
ArrayStoreException
|
Disebabkan
ketika program mencoba menyimpan file data yang salah
|
FileNotFoundException
|
Disebabkan oleh usaha
mengakses file yang tidak ada
|
IOException
|
Disebabkan
oleh general I/O failures, seperti kegagalan membaca file
|
NullPointException
|
Disebabkan
oleh mereferensi obyek null
|
NumberFormatException
|
Disebabkan
ketika konversi antara string dan bilangan gagal
|
OutOfMemoryException
|
Disebabkan
ketika tidak cukup memory untuk alokasi obyek
|
SecurityException
|
Disebabkan
ketika sebuah applet mencoba melakukan aksi yang tidak diperbolehkan oleh
setting security browser
|
StackOverflowException
|
Disebabkan
ketika sistem run melebihi kapasitas stack
|
StringIndexOutOfBoundsException
|
Disebabkan ketika program
mencoba mengakses posisi karakter yang tidak ada di dalam string
|
POKOK BAHASAN VI
Java Graphical User Interface
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
didalamnya.
2. Canvas
: merupakan komponen GUI yang berfungsi untuk menampilkan gambar atau untuk
membuat progarm 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 kontainer 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 langsung berinteraksi dengan komponen ini. Contohnya JButton
(tombol),JLabel (label),JtextField,JtextArea (area untuk menulis teks),dll
4. Layout
Manager Berfungsi untuk mengatur bagaimana tata letak/posisi
dari komponen yang akan diletakkan, satu sama lain didalam suatu container.
Secara default ada 6 buah layout : BorderLayout, BoxLayout, 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 Nama Frame). Salah
satu method yang sering digunakan dikelas JFrame adalah
setDefaultCloseOperation (int ops). Method ini berfungsi untuk mengatur apa
yang akan dikakukan oleh program ketika tombol close di klik. Parameter method
tersebut diantaranya 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 di sembunyikan, namun secara fisik frame masih ada dimemori
sehingga dapat dimuncul.
3. JFrame.DISPOSE_ON_CLOSE
: menghilangkan 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(LayoutManeger 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 komponen yang ada secara berurutan dari
kiri ke kanan dan berpindah baris jika dbutuhkan. 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. GridLayout
Merupakan Layout Manager berbentuk grid. Semua komponen dalam layout ini
memiliki ukuran yang sama. Konstruktor GridLayout sebagai berikut :
a. GridLayout(rows,columns,hGap,vGap)
Konstruktor ini mendefinisikan jumlah baris,kolom,dan ukuran gap
horizontal/vertikal antar elemen dalam pixel.
b. GridLoyout(rows,columns).
Konstruktor yang digunakan dengan nilai default hGap dan vGap sama
dengan 0.
3. BorderLayout
adalah default manager untuk ContentPane. Layout ini menempatkan
komponen dengan pendekatan arah mata angin north, south, west, center, east
4. Cardlayout
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 adalah tabbed pane (JTabbedPane).
5. GridBaglayout
Grid bag layout adalah pengaturan layout
yang dapat digunakan untuk meletakkan komponen secara bebas. Setiap komponen
dapat menepati ukuran yang berbeda dengan komponen lainnya.
6. Boxlayout
digunakan untuk meletakkan komponen berurutan ke kanan (sumbu X) atau berurutan
ke bawah (sumbu Y). Penggunaan BoxLayout menggunakan class Box dimana merupakan
container yang secara internal telah menggunakan BoxLayout sebagai layout
manager-nya.
Jangan lupa untuk mengakses link :
umsida.ac.id dan fst.umsida.ac.id
Sekian rangkuman yang dapat saya tulis. Apabila ada masukan atau kritik silahkan ditambahkan kedalam komentar yang tersedia.
~ Terima Kasih telah mengunjungi blog ini 😊~