P. 1
01_Java_GUI

01_Java_GUI

|Views: 54|Likes:
Dipublikasikan oleh Rahmi Wahyulianti

More info:

Published by: Rahmi Wahyulianti on Mar 17, 2013
Hak Cipta:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

09/17/2013

pdf

text

original

Sections

  • 1.Tujuan
  • 2.2. Komponen-komponen Visual
  • 2.3 Event Handler
  • 2.4 Layout
  • 2.5 Grafis
  • 3.1 Konsep Pemograman Berbasis Objek a. Class Lingkaran
  • 3.2 Komponen-komponen Visual
  • 3.3 Event Handler
  • 3.4 LayoutManager a. FlowLayout
  • 3.5 Grafis a. Primitive Drawing
  • 4. Tugas

PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI

I-1

PRAKTIKUM I Pengenalan Java GUI
1. Tujuan  Mahasiswa dapat menerapkan proses enkapsulasi, inheritance, dan     
polimorfisme pada pemograman berbasis obyek. Mahasiswa mampu membuat program menggunakan komponenkomponen visual. Mahasiswa mampu membuat program sederhana untuk even handler pada komponen-komponen dasar. Mahasiswa mampu mengatur layout dari form yang dibuat menggunakan pemograman bahasa java. Mahasiswa mampu membuat program untuk menggambar bentukbentuk grafik primitive seperti garis, kotak, segitiga, dll. Mahasiswa mampu membuat program berbasis GUI.

2. Dasar Teori 2.1. Pemograman Berorientasi Obyek
Pemrograman berorientasi obyek merupakan suatu konsep pemrograman dengan mengambil konsep obyek sebagai komponen dasar dari pemrogramannya. Obyek merupakan suatu kesatuan komponen dan struktur yang di dalamnya berisi attribut yang selanjutnya dinamakan dengan member dan method yang merupakan kumpulan fungsional dari suatu obyek. Sebagai suatu analogi obyek, kita ambil obyek mobil mempunyai member berupa roda, kemudi, body, pintu, lampu, dashborad dan lainnya. Obyek mobil ini mempunyai method berupa maju, mundur, jalan, berhenti, dan berputar. Dengan demikian dapat dikatakan bahwa obyek mempunyai sifat-sifat, yaitu: • Member atau sering juga disebut dengan attribut yang menjelaskan variable, parameter atau keadaan (state) dari suatu obyek, misalkan pada obyek mobil terdapat member berupa roda, kemudi, seperti yang disebutkan di atas • Method atau sering juga disebut dengan behavior yang menjelaskan perilaku, kegiatan atau kerja dari suatu obyek, misalkan pada obyek mobil terdapat method maju, mundur, berhenti, seperti yang disebutkan diatas. Menulis program berbasis obyek menggunakan bahasa Java dilakukan dengan cara membentuk sebuah class, menentukan variabel member dan menentukan method. Pembentukan class dari suatu obyek ini dinamakan dengan enkapsulisasi. Untuk menggambarkan suatu obyek digunakan suatu diagram yang dinamakan dengan class diagram. Model class di dalam class diagram seperti terlihat pada gambar

PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI
I-2

Nama Class member

metode

Class merupakan pendefinisian suatu bentuk obyek denganmenyebutkan definisi member dan method dari obyek tersebut. Bisadikatakan bahwa class merupakan suatu tipe data dari obyek, sedangkanobyek adalah variabel yang menggunakan tipe data yang didefinisikan dalam class. Misalnya kita ingin membuat program untuk menghitung luas dan keliling lingkaran maka kita dapat membuat sebuah class mengenai lingkaran dengan nama Lingkaran1.java. Seperti yang telah diketahui bahwa lingkaran mempunyai parameter buapa jari-jari dan perhitungan yang bisa dilakukan adalah luas lingkaran dan keliling lingkaran. Sehingga class lingkaran.java memiliki variabel member radius dan beberapa method seperti • void inputData(int data), • double hitungLuas(), • double hitungKeliling() dan • void main(String args[]). Class tersebut dapat dinyatakan dengan model seperti pada gambar
Lingkaran double radius void inputData(int data) double hitungLuas() double hitungKeliling()

Inheritance atau pewarisan sifat adalah sebuah class yang memiliki properti (variabel member dan method) dari class induknya. Dengan inheritance ini maka suatu class anak akan mempunyai semua member dan semua method yang ada di class induk. Berikut ini adalah sebuah contoh penggunaan inheritance dimana class Lingkaran.java di atas merupakan class induk dan class Tabung.java merupakan class turunannya. Untuk menyatakan suatu class sebagai turunan class yang lain dapat dilakukan dengan menambahkan pernyataan extends pada definisi class tersebut. class classAnak extends classInduk

PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI
I-3

2.2. Komponen-komponen Visual

JFrame adalah komponen dasar dalam pemrograman visual dengan java. Dalam inilah komponen lain diletakkan. JLabel adalah komponen yang digunakan untuk membuat tulisan atau gambar pada frame sebagai suatu informasi untuk pengguna program. Untuk menggunakan jLabel, sebagai suatu class maka sebelumnya perlu dibuat suatu obyek menggunakan class JLabel. JTextField adalah komponen yang digunakan untuk memasukkan sebaris string yang selanjutnya dapat digunakan sebagai input bagi proses selanjutnya. Pembuatan JTextfield dilakukan dengan membuat obyek berdasarkan class JtextField. JButton adalah komponen berbentuk tombol. Komponen ini banyak digunakan sebagai eksekusi terhadap tindakan yang diinginkan. Pada aplikasi komputer, biasanya dibutuhkan tombol untuk mengeksekusi sebuah perintah.

PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI
I-4

JRadioButton adalah komponen yang digunakan ketika pengguna perlu memilih satu diantara beberapa pilihan. JComboBox juga merupakan komponen yang digunakan untukmemilih satu diantara sekian banyak pilihan yang berbentuk semacam TextField dan ada panah ke bawah. JTextArea merupakan komponen yang mirip dengan JtextField tetapi dapat menampung lebih dari satu baris. JCheckBox adalah komponen yang digunakan ketika penggunamemerlukan komponen untuk melakukan satu atau banyak pilhan sekaligus JTable digunakan untuk menampilkan data dalam bentuk tabel, suatu bentuk yang banyak digunakan dalam pemrograman database. JScrollPane adalah komponen yang digunakan untuk menggerakkan obyek ke atas, ke bawah atau ke samping agar semua sebuah obyek terlihat di layar. JMenu adalah komponen yang digunakan untuk membuat menu. Menu membuat program kita menjadi lebih sederhana dan mudah digunakan. JInternalFrame menyebabkan sebuah frame hanya dapat berada dalam frame lain. Kondisi ini akan membantu tampilan menjadi lebih rapidan teratur.

2.3 Event Handler
Event Handler adalah proses yang diperlukan untuk melakukan reaksi bila diberikan sebuah aksi. Event handler ini dapat diberikan pada semua obyek yang kita gunakan bergantung pada keperluan. Kategori Name Interface Method Action ActionListener actionPerformed(ActionEv ent) Item ItemListener itemStateChanged(ItemEv Mouse MouseListener ent) mousePressed(MouseEven t) mouseReleased(MouseEve nr) mouseEntered(MouseEven t) mouseExited(MouseEvent)

PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI
I-5

mouseClicked(MouseEven t) Kategori Mouse Motion Key KeyListener Focus FocusListener Adjustm ent Compon ent AdjustmentListen er ComponentListen er Name Interface MouseMotionList ener Method mouseDragged(MouseEvent) mouseMoved(MouseEvent) keyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent) focusGained(FocusEvent) focusLost(FocusEvenr) adjustmentValueChanged(AdjustmentEv ent) componentMoved(ComponentEvent) componentHidden(ComponentEvent) componentResized(ComponentEvent) componentShown(ComponentEvent) windowClosing(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified (WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated (WindowEvent) componentAdded(ContainerEvent) componentRemoved(ContainerEvent) ContainerListene r TextListener Seluruh basic event listener terdapat dalam paket java.awt.event, sehingga untuk bisa menggunakan classclass tersebut, gunakan statemen sbb : import java.awt.event.*; Setiap event handler membutuhkan 3 bagian kode sbb : 1. Pada bagian deklarasi dari class yg akan menghandle event, tuliskan kode yang menspesifikasikan bahwa class tsb mengimplementasikan (implements) sebuah listener ataukah menurunkan (extends) sebuah class yang mengimplementasikan sebuah interface listener, misalnya : textValueChanged(TextEvent)

Window WindowListener

Contain er Text

Kode yang mengimplementasikan methodmethod yang terdapat dalam interface listener ybs. sbb : addMouseMotionListener(new MyMouseMotionListener()). 3.. sbb : . Kode yang mendaftarkan sebuah instance dari class event handler sebagai listener untuk satu atau lebih komponen.. class MyMouseMotionListener extends MouseAdapter { public void mouseDragged(MouseEvent e) { } } • Implementasi program dengan anonymous inner class. misalnya : public void actionPerformed)ActionEvent e) { … //kode yang mengakomodasi aksi dari user } 4.. Menggunakan inner class.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI public class MyClass implements ActionListener { 2.addActionListener(instanceOfMyClass). addMouseMotionListener(new MouseMotionAdapter(){ public void mouseDragged(MouseEvent e) { . } }). misalnya: someComponent. // tutup dengan titik koma I-6 .. •Implementasi program dengan inner class.

dimana pengaturan posisi komponen dalam frame dilakukan sendiri oleh programmer.4 Layout Pengaturan layout digunakan untuk mengatur posisi dari komponen visual penyusun program sesuai dengan desain user interface. Pada bab-bab terdahulu. Beberapa jenis layout yang lain dapat digunakan untuk berbagai keperluan. Beberapa pilihan layout telah disediakan java. manajemen layout yang digunakan adalah none layout. Berikut ini adalah contoh program yang terdiri dari beberapa komponen dan diatur dengan menggunakan beberapa jenis manajemen layout agar dapat dilihat karakteristik masing-masing .PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I-7 2. dimana keputusan untuk menggunakan jenis layout tertentu bergantung pada jenis aplikasi yang ingin dibuat serta tingkat kerapian yang diinginkan.

SOUTH.RIGHT -> rata kanan atau 2 hgap : horizontal gap vgap : vertical gap BorderLayout merupakan jenis layout yang bekerja dengan membagi frame menjadi lima bagian yaitu NORTH.CENTER -> rata tengah atau 1 FlowLayout. WEST dan CENTER. int vgap)). dimana semua komponen akan tersusun dari kiri ke kanan sepanjang frame. Kode program yang digunakan untuk melakukan pengaturan flowlayout adalah: getContentPane().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I-8 FlowLayout adalah jenis pengaturan layout yang paling sederhana. setLayout(new FlowLayout(int align. EAST. Komponen visual dapat diletakkan pada bagian-bagian tersebut. dan akan pindah ke bawah bila telah sampai batas kanan frame.setLayout(new FlowLayout()) yang dapat kita letakkan pada method tertentu komponen-komponen visual.LEFT -> rata kiri atau 0 FlowLayout. int hgap. Ket: align : rata baris FlowLayout. .

Hal ini akan dibahas dalam pembahasan J2ME yang merupakan materi lanjut dari pemrograman Java dan tidak dibahas dalam buku ini Salah satu cara untuk membuat aplikasi grafis dengan javaadalah dengan membuat class yang merupakan turunan dari classcanvas. . JPanel adalah komponen visual yang digunakan untuk membantu mengatur letak komponen lain agar terlihat lebih tertata rapi dan nyaman. int width. NoneLayout merupakan jenis layout yang dapat menghasilkan tampilan yang rapi karena kita dapat mengatur posisi komponen secara detil berdasar koordinatnya. Bahasa Java merupakan salah satu bahasa dengan fasilitas berupa komponen-komponen grafis yang lengkap. • drawRoundRect(int x. Berikut ini adalah beberapa pemrograman dasar di bidang grafis dalam java yang diharapkan dapat menjadi bekal awal untuk memahami berbagai topic seputar grafis yang begitu luas. • drawRect(int x. int y2) --> membuat sebuah garis dari titik x1. int width. Konsekuensinya dengan layout ini waktu yang diperlukan relatif lebih banyak dibanding layout yang lain karena kita perlu menentukan posisi koordinat tiap komponen. int y. khususnya untuk permainan di perangkatperangkat mobile.5 Grafis Pemrograman grafis digunakan dalam banyak hal mulai dari upaya untuk memperoleh tampilan yang indah.y2. aplikasi pengolahan citra sampai visi komputer. int y. int height) --> membuat sebuah kotak dengan titik kiri atas pada(x. • drawOval(int x. int width. aplikasi animasi. Pembahasan permograman garis akan dimulai dari menggambar obyek-obyek sederhana menggunakan garis. int x2. int y. Beberapa methode yang sering digunakan dalam aplikasi grafis yaitu: • drawstring(String str. aplikasi simulasi. int xdiam. int x. Dalam class inilah kita meletakkan gambar atau animasi. int height) --> membuat sebuah oval dengan ukuran tertentu. int y) --> membuat sebuah text menggunakan font dan color standar pada posisi koodinat x dan y. int ydiam) --> membuat kotak dengan sudut yang tidak tegak lurus.y1 ke titik x2. Karena itulah banyak program grafik. dan membentuk sebuah obyek untuk mengakses gambar kita tersebut. menggambar fungsi dan bagaimana dapat menampilkan dan mengolah data gambar (image processing) dengan pembahasan yang sangat sederhana. • drawLine(int x1.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I-9 GridLayout adalah jenis layout yang bekerja berdasar baris dan kolom. int height. int y1.y) dan mempunyai ukuran tertentu. dan permainan yang berbasis grafik dibuat menggunakan bahas Java. Dengan layout ini kita dapat memberikan argumen banyaknya baris dan kolom sesuai dengan kebutuhan. 2.

int arcAngle) --> membuat sebuah lingkaran yang tidak penuh. } public static void main(String args[]) { Lingkaran lingkaran = new Lingkaran(). int height. int ydiam) --> membuat kotak yang berwarna. int height. • drawArc(int x. boolean raised) --> membuat kotak dengan efek 3 dimensi (sebaiknya warna gambar disesuaikan dengan warna background).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI • I . System. • fill3DRect(int x. • fillRect(int x. int y. } public double hitungLuas() { double Luas. return Luas. int width. Luas = Math. int height ) --> membuat kotak yang dalamnya berwarna. keliling = 2 * Math.out.PI * radius . Class Lingkaran public class Lingkaran { double radius. Boolean raised) • fillArc(int x. int width. int startAngle. int y. int width. Lingkaran(){} void inputData(int data) { this.radius).println("Keliling Lingkaran: " + this. int height. int width. System. int xdiam. } public double hitungKeliling() { double keliling. } public void cetak() { System. return keliling.hitungLuas()).radius = data. int width. int y.PI * radius * radius.println("Radius Lingkaran: " + this. int y.hitungKeliling()).out. int y. int height. • fillRoundRect(int x.out.10 draw3DRect(int x. • fillOval(int x. int startAngle. int height) --> membuat oval yang mempunyai warna. int height. Latihan 3.println("Luas Lingkaran: " + this. . int y. int arcAngle) 3. int y. int width. int width.1 Konsep Pemograman Berbasis Objek a.

System. tabung. lingkaran. return selimut.inputData(10). selimut = 2 * hitungLuas() + hitungKeliling() * tinggi.2 Komponen-komponen Visual .11 b. tabung.println("Luas Selimut: " + tabung.cetak().out.cetak(). } public static void main(String args[]) { Tabung tabung = new Tabung() .hitungSelimut(10)). Class Tabung yang mengextends class Lingkaran public class Tabung extends Lingkaran { Tabung() {} public double hitungSelimut(int tinggi) { double selimut. } } 3.inputData(10).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI lingkaran. } } I .

setDefaultCloseOperation(JFrame. class AplikasiPenilaian extends JFrame Pernyataan ini menunjukkan bahwa class AplikasiPenilaian merupakan turunan dari class JFrame yang berarti bahwa class ini memiliki atributatribut dari class JFrame. Komponen visual yang kita perlukan dalam pemrogaman visual berada dalam paket javax.swing.150).12 import javax. AplikasiPenilaian(){ . • setDefaultCloseOperation(JFrame.100) digunakan untuk menentukan posisi frame di layar dimana 300 menunjukkan posisi x dan 100 menunjukkan posisi y. class AplikasiPenilaian extends JFrame{ AplikasiPenilaian() { setTitle("Lembar Penilaian"). } public static void main(String args[]) { AplikasiPenilaian ap=new AplikasiPenilaian(). • setVisible(true) digunakan untuk menampilkan frame. maka penutupan frame tidak akan menghentikan jalannya program.swing.*.swing. • setSize(300.* ini. JLabel import javax.EXIT_ON_CLOSE) digunakan untuk mengakhiri jalannya program bila frame ditutup. setVisible(true). Pernyataaan ini merupakan perintah yang digunakan untuk menyiapkan class-class yang diperlukan oleh program kita. JFrame import javax.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI a. setSize(300. • setTitle digunakan untuk membuat judul frame. class AplikasiPenilaian extends JFrame{ JLabel lblnim=new JLabel("NIM"). b. Bila perintah tersebut tidak ada.*.EXIT_ON_CLOSE).150) digunakan untuk menentukan besar frame dimana 300 menunjukkan lebar frame dan 150 menunjukkan tinggi frame.100).*. setLocation(300. • setLocation(300.swing. } } I .

10.setLayout(null). lblnim. komponenVisual().10.70.EXIT_ON_CLOSE).20). argumen kedua menunjukkan koordinat y dari ujung kiri atas obyek. setDefaultCloseOperation(JFrame.20).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI setTitle("Lembar Penilaian"). } public static void main(String args[]) { AplikasiPenilaian ap=new AplikasiPenilaian(). dimana layout null berarti bahwa koordinat tiap komponen dalam frame harus ditentukan sendiri posisinya oleh programmer.13 } JLabel lblnim=new JLabel("NIM"). } I .70. } void komponenVisual(){ getContentPane().70.10. perintah di atas berhubungan dengan getContentPane().setLayout(null) di atas yang berguna untuk mengatur posisi dari komponen Jlabel yang bernama lblnim. Merupakan cara untuk membentuk obyek JLabel yang kita beri nama lblnim dan bertuliskan “NIM“. Pengaturan posisi dilakukan dengan menggunakan setBounds(10.add(lblnim) adalah perintah yang digunakan untuk menempelkan obyek JLabel ke frame. Obyek ini akan kita gunakan sebagai informasi kepada user untuk memasukkan NIM mahasiswa. setVisible(true).100).add(lblnim).setBounds(10.20) dimana agrumen pertama menunjukkan koordinat x dari ujung kiri atas obyek. setLocation(300. .150).setLayout(null) Sintaks di atas digunakan untuk mengatur tata letak komponen dalam frame. lblnim. getContentPane(). getContentPane().setBounds(10. argumen ketiga menunjukkan lebar dari obyek dan argumen keempat menunjukkan tinggi dari obyek. getContentPane(). setSize(300.

} public static void main(String args[]) { AplikasiPenilaian ap=new AplikasiPenilaian(). } void komponenVisual(){ getContentPane(). lblnim.150).20). digunakan untuk menampilkan frame berserta semua obyek yang ada di dalamnya.*. txnim. c.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . getContentPane().setBounds(75. } } JTextField txnim=new JTextField(20). class AplikasiPenilaian extends JFrame{ . JButton import javax.add(txnim). Pada program sebelumnya method ini kita letakkan pada constructor karena kita belum membuat method komponenVisual(). d.100. setDefaultCloseOperation(JFrame. komponenVisual(). JTextField import javax. setSize(300. adalah perintah untuk menempelkan dan mengatur posisi txnim pada frame.*.EXIT_ON_CLOSE). getContentPane(). Adalah membentuk obyek dari komponen JTextField yang akan digunakan untuk menampung nilai dari NIM mahasiswa. txnim.swing. setVisible(true).100.10.add(lblnim).10. getContentPane(). JTextField txnim=new JTextField(20).setBounds(75.10.20).setBounds(10.100).setLayout(null).14 setVisible(true). setLocation(300.swing. class AplikasiPenilaian extends JFrame{ JLabel lblnim=new JLabel("NIM"). AplikasiPenilaian(){ setTitle("Lembar Penilaian").add(txnim).20).70.

JButton tblcari=new JButton("Cari"). lblnim. JRadioButton kelasB=new JRadioButton("B").10. JTextField txnama=new JTextField(20). .setBounds(180.setBounds(75.swing.95.100). txnim.100). JRadioButton import javax. tblcari. } void komponenVisual(){ getContentPane().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI JLabel lblnim=new JLabel("NIM").20).setBounds(10.100. JTextField txnim=new JTextField(20).20). AplikasiPenilaian(){ setTitle("Lembar Penilaian"). class AplikasiPenilaian extends JFrame { JLabel lblnim=new JLabel("NIM ").70.add(tblcari). setDefaultCloseOperation(JFrame. JLabel lblnama=new JLabel("Nama").15 } e. JRadioButton kelasC=new JRadioButton("C").add(txnim). setVisible(true). setLocation(300. komponenVisual(). AplikasiPenilaian(){ setTitle("Lembar Penilaian"). } I . JButton tblcari=new JButton("Cari").*. getContentPane(). setLocation(300.10.150). getContentPane().setLayout(null). getContentPane(). JTextField txnim=new JTextField(20).20). } public static void main(String args[]) { AplikasiPenilaian ap=new AplikasiPenilaian(). setSize(300. JRadioButton kelasA=new JRadioButton("A"). JLabel lblkelas=new JLabel("Kelas ").10.add(lblnim). ButtonGroup grupkelas=new ButtonGroup().EXIT_ON_CLOSE).

20). Sintaks di atas menunjukkan bahwa kita memiliki tiga kelas yang dibuat dengan membentuk tiga buah obyek dari class JRadioButton.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI setSize(300. } } I . getContentPane().100.add(lblkelas).add(txnim). grupkelas. setVisible(true). JRadioButton kelasB=new JRadioButton("B").50.add(tblcari).setBounds(10.add(lblnama).50.20).20).20).add(kelasC).setBounds(10.20).setBounds(125.50. getContentPane().70.70. setDefaultCloseOperation(JFrame. getContentPane().add(kelasB).setLayout(null).setBounds(180.20).95.20).setBounds(75.add(kelasC).20). getContentPane(). } void komponenVisual(){ getContentPane(). getContentPane(). JRadioButton kelasC=new JRadioButton("C"). lblnim. kelasA. ButtonGroup grupkelas=new ButtonGroup(). tblcari.add(txnama).add(lblnim). grupkelas. lblnama.50.200.30.setBounds(10.50. } public static void main(String args[]){ AplikasiPenilaian ap=new AplikasiPenilaian(). lblkelas.50.setBounds(75. txnim.20).30.setBounds(75. getContentPane(). kelasB.10.add(kelasA).10. .16 JRadioButton kelasA=new JRadioButton("A"). getContentPane().50.setBounds(175.add(kelasB). getContentPane().150). komponenVisual().add(kelasA). getContentPane(). kelasC. txnama.100. grupkelas.EXIT_ON_CLOSE).10.

add(lblkelas)."5".50. JTextField txnama=new JTextField(20). grupkelas. adalah cara untuk menyatukan ketiga obyek menjadi satu kesatuan."2". sehingga hanya dapat dipilih satu diantara ketiganya.add(kelasA).70.add(lblnim). tblcari.20).200. txnim. lblkelas.10.10. getContentPane().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .17 Merupakan obyek yang digunakan untuk menyatukan semua obyek JRadioButton. getContentPane().swing."4". JTextField txnim=new JTextField(20). setLocation(300. lblnim. getContentPane().100).setBounds(75. JComboBox cbkelompok=new JComboBox(jeniskelompok).add(kelasA). getContentPane(). JRadioButton kelasB=new JRadioButton("B"). String[] jeniskelompok={"1".20). txnama. kelasA. grupkelas.30.*.150).50.20).add(txnama).EXIT_ON_CLOSE). JRadioButton kelasC=new JRadioButton("C"). JLabel lblnama=new JLabel("Nama").50.50. grupkelas. } void komponenVisual(){ getContentPane(). sehingga hanya akan terpilih satu diantara obyek JRadioButton yang ada.20).20).setBounds(75.20).20). class AplikasiPenilaian extends JFrame{ JLabel lblnim=new JLabel("NIM ").50.70.setLayout(null). JComboBox import javax.add(kelasA).setBounds(10.100. getContentPane(). .10.setBounds(180.50.100.30.add(txnim). getContentPane().add(kelasC). kelasC.setBounds(10.setBounds(125. setSize(300. JLabel lblkelas=new JLabel("Kelas ").setBounds(10. grupkelas.add(tblcari).add(kelasB). getContentPane().setBounds(75. setDefaultCloseOperation(JFrame."7"}.add(lblnama)."6". JRadioButton kelasA=new JRadioButton("A"). JLabel lblkelompok=new JLabel("Kelompok").add(kelasB).50. kelasB.20). getContentPane(). AplikasiPenilaian(){ setTitle("Lembar Penilaian"). JButton tblcari=new JButton("Cari"). lblnama. komponenVisual(). getContentPane().setBounds(175.95. ButtonGroup grupkelas=new ButtonGroup()."3". f.add(kelasC).20).

cbkelompok.100).add(cbkelompok).100). JComboBox cbkelompok=new JComboBox(jeniskelompok).100.awt."4". setVisible(true).20). setDefaultCloseOperation(JFrame. class FrameTextArea extends JFrame { private JLabel label=new JLabel("Nama"). JTextArea import javax. grupkelas. FrameTextArea(){ setTitle("Form Text Area"). setVisible(true).100.add(lblkelompok). } public static void main(String args[]){ AplikasiPenilaian ap=new AplikasiPenilaian()."5".*. setLocation(200.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI grupkelas.EXIT_ON_CLOSE). setSize(300. getContentPane(). getContentPane().add(kelasB)."6". } void komponenVisual() { getContentPane().70. Merupakan deklarasi pembentukan obyek ComboBox menggunakan argumen array yang sebelumnya telah disediakan yaitu jeniskelompok. private JTextArea area1=new JTextArea(3.setLayout(new FlowLayout()). } } I ."3". } public static void main(String args[]) { ."7"}."2".add(area1). komponenVisual().20).setBounds(10. Adalah variabel array yang akan digunakan sebagai alternatif pilihan bagi ComboBox. lblkelompok.add(kelasC).swing. getContentPane().*.setBounds(75. import java.add(label).20). getContentPane().18 String[] jeniskelompok={"1". g.70.

getContentPane().*. FrameCheckBox() { setTitle("FrameCheckBox"). JCheckBox import javax.19 h.setLayout(new FlowLayout()). } } i. setVisible(true). setSize(300.100).add(cek1).add(cek3). komponenVisual(). } } I .swing. class FrameTabel extends JFrame { String[] header={"Senin".swing.*.add(cek2). JCheckBox cek3=new JCheckBox("Pilihan 3"). setDefaultCloseOperation(JFrame.*."Rabu"}. } public static void main(String args[]){ FrameCheckBox cb=new FrameCheckBox().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI FrameTextArea textArea=new FrameTextArea(). setLocation(200. class FrameCheckBox extends JFrame { JCheckBox cek1=new JCheckBox("Pilihan 1").awt.*. . JCheckBox cek2=new JCheckBox("Pilihan 2").100)."Selasa". } void komponenVisual(){ getContentPane(). getContentPane(). JTable import javax.EXIT_ON_CLOSE). import java. getContentPane(). import java.awt.

"300".CENTER). komponenVisual().{"500".{"500"."450"}. getContentPane().add(tabel1).20 j. } . JTable tabel1=new JTable(data.add(scrollPane. BorderLayout. String[][] data={{"100". komponenVisual()."360"}}. setDefaultCloseOperation(JFrame."600"."Selasa"."360"}}.*. setVisible(true).100). JScrollPane scrollPane = new JScrollPane(tabel1)."450"}. setVisible(true). class FrameScrollPane extends JFrame { String[] header={"Senin".swing."690". } } I ."300". {"290".EXIT_ON_CLOSE). setDefaultCloseOperation(JFrame. import java."Rabu"}.*. setSize(300.100)."690"."150"}.EXIT_ON_CLOSE). FrameTabel(){ setTitle("Frame Tabel"). setLocation(200.100).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI String[][] data ={{"100".header).awt.100). FrameScrollPane(){ setTitle("Frame Scroll Pane"). setSize(300. } void komponenVisual() { JTable tabel1=new JTable(data."150"}. {"290". } public static void main(String args[]){ FrameTabel t=new FrameTabel()."600". setLocation(200. } void komponenVisual(){ getContentPane().header). JScrollPane import javax.

.add(file).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI public static void main(String args[]){ FrameScrollPane t=new FrameScrollPane(). JMenuItem open=new JMenuItem("Open").*.swing. JMenu file=new JMenu("File"). JInternalFrame import javax. close. } void komponenVisual(){ setJMenuBar(mb). JMenu import javax.*. setSize(320. } } l. komponenVisual(). JMenu help=new JMenu("Help"). } public static void main(String args[]){ AplikasiMenu m1=new AplikasiMenu(). JMenuItem close=new JMenuItem("Close"). setDefaultCloseOperation(JFrame. help.awt. setLocation(300.add(quit).add(about).add(help). mb. file. file.21 k. AplikasiMenu(){ setTitle("Menu Utama").setEnabled(false).add(close). file.add(open). JMenuItem about=new JMenuItem("About"). setVisible(true).160).EXIT_ON_CLOSE).swing. mb. import java. } } I .200).*. class AplikasiMenu extends JFrame { JMenuBar mb=new JMenuBar(). JMenuItem quit=new JMenuItem("Quit").

setVisible(true).22 3. AplikasiFrameInternal(){ setTitle("Aplikasi Internal Frame").add(iframe).true).swing. iframe. setLocation(100.20).200). } public static void main(String[] args){ AplikasiFrameInternal if1=new AplikasiFrameInternal(). ActionEvent import javax. setContentPane(desktop). .setLocation(20.200).EXIT_ON_CLOSE). class AplikasiEvent1 extends JFrame{ JTextField data1=new JTextField(6). desktop.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI import java. } } I .event.true.true. komponenVisual(). import java. public class AplikasiFrameInternal extends JFrame { JDesktopPane desktop=new JDesktopPane().*. } void komponenVisual(){ iframe.awt.3 Event Handler a. setDefaultCloseOperation(JFrame.*. JInternalFrame iframe=new JInternalFrame("Internal Frame".setSize(200. setSize(300. iframe.*. setVisible(true).awt.100).true.

50.add(operasi).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI JTextField data2=new JTextField(6).EXIT_ON_CLOSE).parseInt(data1.add(data1). getContentPane().add(hasil). I .setText(z). exit.50. JButton operasi=new JButton("+").10.add(data2). String z=String. } } .add(exit). komponenVisual().100). int y=Integer. AksiReaksi().addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int x=Integer. JButton exit=new JButton("EXIT").20).10. exit.90.setBounds(60. data1.parseInt(data2. } void AksiReaksi(){ operasi.50.getText()).23 } public static void main(String args[]){ AplikasiEvent1 e1=new AplikasiEvent1(). } }). data2. getContentPane(). setVisible(true).20).35.20). hasil. setDefaultCloseOperation(JFrame. setLocation(200. operasi.setBounds(10. } }).setBounds(160.20). } void komponenVisual(){ getContentPane().valueOf(x+y).addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.90.getText()). getContentPane(). getContentPane(). AplikasiEvent1(){ setTitle("Event Sederhana").100).setBounds(110.setLayout(null).10.exit(0). hasil.10. setSize(270. JTextField hasil=new JTextField(6). getContentPane().setBounds(160.20).

event. Dua baris kode tersebut di atas mempunyai tugas yang sama yaitu mengambil nilai dari JTextField dengan cara data1. import java.*.setText(z). Pada tombol exit diberikan sintaks System. exit.*. b.swing. terdapat dua event handler yaitu penekanan mouse pada tombol operasi dan penekanan mouse pada tombol exit.parseInt(data2.24 method AksiReaksi() digunakan untuk menempatkan kode-kode program event handler. class keyboardEvent extends JFrame { JTextField data1=new JTextField(6).getText()). .getText() .parseInt(data1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ … } }).valueOf(x+y). int x=Integer. KeyboardEvent import javax. int y=Integer.awt. String z=String.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . Dalam method public void actionPerformed(ActionEvent e) inilah efek yang timbul akibat penekanan klik mouse pada tombol operasi dan exit kita tuliskan. kemudian mengubah tipe datanya menjadi String agar hasilnya dapat ditampilkan melalui JTextField hasil dengan menggunakan sintaks : hasil. mengubahnya dari String menjadi integer dengan Integer. Baris perintah di atas digunakan untuk melakukan proses penjumlahan kedua input data x dan y.exit(0) agar aplikasi berhenti bila tombol exit di klik.parseInt dan menyimpan nilainya ke dalam variabel x dan y. Pada contoh di atas.getText()). Reaksi yang timbul akibat klik mouse pada tombol operasi dan exit diimplementasikan dengan kode berikut : operasi.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { }).

data1. String z=String.20). getContentPane().setText(z). getContentPane().setBounds(190.90. } } }).requestFocus().100). keyboardEvent(){ setTitle("Keyboard Event").parseInt(data2. setDefaultCloseOperation(JFrame.getKeyCode()==e.setBounds(190.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ int x=Integer. JButton exit=new JButton("EXIT").VK_ENTER){ operasi.setBounds(70. data2.add(data1).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI JTextField data2=new JTextField(6). data2. int y=Integer.setBounds(130.getText()). setVisible(true).add(exit). } } }).setLayout(null). setLocation(200.getText()). exit.parseInt(data1. setSize(300.10.10.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.20). getContentPane().EXIT_ON_CLOSE).valueOf(x+y).add(data2).50. getContentPane(). operasi.100).20).35.add(operasi). I .setBounds(10. operasi. hasil.requestFocus(). JButton operasi=new JButton("+").20).add(hasil).50.50. AksiReaksi(). komponenVisual(). } void komponenVisual(){ getContentPane().addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.VK_ENTER){ data2. } void AksiReaksi(){ data1.10. JTextField hasil=new JTextField(6).getKeyCode()==e. getContentPane().90. } }).25 .20). hasil.10.

awt. Dengan cara yang sama.getKeyCode()==e.VK_ENTER){ ……….exit(0). } I . ………. } } }).requestFocus() adalah kode yang memungkinkan terjadinya perpindahan kursor dari JTextfield pertama ke JTextField kedua. Setelah data kedua diisi dan ditekan tombol enter maka fokus akan menuju ke tombol operasi. } public static void main(String args[]){ keyboardEvent e1=new keyboardEvent().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI operasi.parseInt(data2. data2.VK_ENTER){ int x=Integer. int y=Integer.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e){ if(e.setText(z). } }). program aplikasi sederhana di atas dapat kita sempurnakan dengan memberikan event enter pada JTextField data1 dan JTextField data2 sehingga setelah data pertama dimasukkandan kita tekan enter kursor akan pindah ke JTextField data2 siap untuk mengisi data kedua. } adalah sintaks yang memungkinkan suatu reaksi terjadi bila kita menekan tombol enter di keyboard.getText()).swing.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System. String z=String. hasil.parseInt(data1. class textAreaEvent extends JFrame{ JLabel lblnama=new JLabel("Nama"). TextAreaEvent import javax.requestFocus().event.getKeyCode()==e.valueOf(x+y). exit. c. siap untuk ditekan.*. exit. import java.*. .getText()).26 } if(e.

getContentPane(). getContentPane().80.setBounds(105.20).add(txnim).80.setBounds(160.80. pria. } else{ hasil. lblnama.20). if(pria. getContentPane().27 . JTextField txnim=new JTextField(7). txnama.setBounds(10.getText()+"\n").20). getContentPane().56.add(wanita).setLayout(null). txnim.270.add(wanita).add(hasil).20).addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ hasil.add(txnama).setBounds(105.70.10.56.append(wanita.add(cetak).20). } void komponenVisual(){ getContentPane(). JRadioButton wanita=new JRadioButton("Wanita"). setDefaultCloseOperation(JFrame. getContentPane(). cetak.20).56. } void AksiReaksi(){ cetak.add(lblkelamin). hasil.append(txnama.getText()+"\n").setBounds(10.append(pria. ButtonGroup kelompok=new ButtonGroup().150).setBounds(10.isSelected()==true){ hasil.10.EXIT_ON_CLOSE).50. JButton cetak=new JButton("Cetak").270. getContentPane().70. kelompok.80.add(lblnim).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI JTextField txnama=new JTextField(20).33.105. lblnim. komponenVisual(). setSize(300. lblkelamin. AksiReaksi(). JLabel lblkelamin=new JLabel("Jenis Kelamin"). } I .100). kelompok. setLocation(300.20). getContentPane().setBounds(10. JRadioButton pria=new JRadioButton("Pria"). getContentPane().add(pria).getText()+"\n").setBounds(105.append(txnim. wanita. hasil.setBounds(10.getText()+"\n").175. JLabel lblnim=new JLabel("NIM").add(lblnama).320). textAreaEvent(){ setTitle("TextArea Event"). getContentPane(). JTextArea hasil=new JTextArea().add(pria).33.20). setVisible(true).

checkBoxEvent(){ setTitle("Event Sederhana").320). JButton cetak=new JButton("Cetak"). import java. setDefaultCloseOperation(JFrame. } } d. JTextArea hasil=new JTextArea(). JRadioButton pria=new JRadioButton("Pria"). setLocation(300. JLabel lblkelamin=new JLabel("Jenis Kelamin"). ButtonGroup kelompok=new ButtonGroup(). JCheckBox baca=new JCheckBox("Membaca").*. JCheckBox mancing=new JCheckBox("Memancing").event.swing. JLabel lblnim=new JLabel("NIM").100). I . JRadioButton wanita=new JRadioButton("Wanita"). class checkBoxEvent extends JFrame { JLabel lblnama=new JLabel("Nama"). setSize(300. CheckBoxEvent import javax.28 public static void main(String args[]){ textAreaEvent e5=new textAreaEvent().*.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI } } }). JCheckBox jalan=new JCheckBox("Jalan-Jalan"). JLabel lblhobi=new JLabel("Hobi"). JTextField txnama=new JTextField(20). JTextField txnim=new JTextField(7).EXIT_ON_CLOSE).awt. .

126.getText()+"\n").append(wanita. getContentPane().100).add(lblhobi).isSelected()==true){ . getContentPane().20).33.add(lblnama).80.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ hasil.20). } else{ hasil.setBounds(10. kelompok.add(pria).add(mancing).append(baca.append(txnim. I . txnim.20). wanita.50. } if(mancing. mancing.20).70.append(pria.setBounds(10. txnama. getContentPane().56.80.getText()+"\n").getText()+"\n").append(mancing. getContentPane().20). getContentPane().add(wanita).setBounds(105. if(pria.setBounds(10.append(txnama. getContentPane(). } void AksiReaksi(){ cetak.setBounds(10. jalan.180. getContentPane().add(txnama). cetak.add(pria).20). getContentPane().setBounds(105.70. } if(baca.setBounds(10.add(wanita). hasil. getContentPane().150.270. lblnim.80.175.80. kelompok.29 } void komponenVisual(){ getContentPane(). hasil.add(lblnim).56.103. lblkelamin. getContentPane().isSelected()==true){ hasil.10.getText()+"\n").33. pria.setBounds(105. AksiReaksi().10. lblhobi.add(hasil). } if(jalan.20).isSelected()==true){ hasil.getText()+"\n").setLayout(null).56. lblnama.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI komponenVisual(). baca.getText()+"\n").add(lblkelamin).270.20).add(cetak).setBounds(105.20).20).setBounds(105.70. getContentPane(). getContentPane().100.setBounds(160.100.isSelected()==true){ hasil.add(jalan).20).80. getContentPane().add(baca).100.setBounds(10.setBounds(105.20).add(txnim). setVisible(true).

import java. } } }). komponenVisual(). menuEvent(){ setTitle("Menu Utama"). JMenuItem quit=new JMenuItem("Keluar"). setLocation(300. } I .EXIT_ON_CLOSE). AksiReaksi(). setSize(320. import java. JMenuItem input=new JMenuItem("Input Data").*. JMenuItem edit=new JMenuItem("Edit Data"). setDefaultCloseOperation(JFrame.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI hasil.*. MenuEvent import javax. JMenu data=new JMenu("Data").160).30 public static void main(String args[]){ checkBoxEvent e5=new checkBoxEvent(). JMenu help=new JMenu("Help").event.swing. JMenuItem about=new JMenuItem("About").awt.append(jalan. } .200).getText()+"\n"). class menuEvent extends JFrame { JMenuBar mb=new JMenuBar(). } } e.*.awt.

INFORMATION_MESSAGE).add(quit). quit. about.showInputDialog(null.add(input).addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.addSeparator().31 void komponenVisual(){ setJMenuBar(mb). } void AksiReaksi(){ input. mb.exit(0). } }).add(edit). } }). data."DataPersonalia". data.add(help). data."Masukkan nama anda". mb. } }).addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ new FrameTextArea(). data. } } . edit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ new checkBoxEvent(). setVisible(true). } public static void main(String args[]){ menuEvent e8=new menuEvent().JOptionPane. help.add(about).add(data).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . } }).addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ System.

*.*. setDefaultCloseOperation(JFrame.*. twoListener() { setTitle("Contoh 2 Listener").getX() + " Y= "+ e. } }). } }).awt. Aksi().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . } void komponenVisual() { getContentPane().swing. setLocation(300.addMouseListener(new MouseAdapter() { public void mouseExited(MouseEvent e) { String s = "Mouse Exited!". import java.200). BorderLayout. this.32 f.SOUTH).event. BorderLayout.awt.NORTH). } }).setLayout(new BorderLayout(3.EXIT_ON_CLOSE). import javax.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { String s = "Mouse dragging: X= "+ e.3)).getY(). } . komponenVisual(). getContentPane(). } void Aksi() { this.setText(s). getContentPane(). setVisible(true).add(lbl.300). public class twoListener extends JFrame { JTextField text = new JTextField(30). text.addMouseListener(new MouseAdapter() { public void mouseEntered(MouseEvent e) { String s = "Mouse Entered!". setSize(300. text. text.setText(s).setText(s). JLabel lbl = new JLabel("Click dan Drag Mouse"). this.add(text. twoListener import java.

add(nama). getContentPane(). setVisible(true). JTextField txnama=new JTextField(20).33 public static void main(String args[]) { twoListener two = new twoListener(). } } 3. setSize(450. } void komponenVisual(){ getContentPane(). getContentPane().4 LayoutManager a. getContentPane(). import java. setDefaultCloseOperation(JFrame.*. FlowLayout import javax.add(nim).setLayout(new FlowLayout()).EXIT_ON_CLOSE). flowlayout(){ setTitle("FlowLayout").PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .*.swing. getContentPane(). getContentPane(). JButton tombolSimpan=new JButton("Simpan"). class flowlayout extends JFrame{ JLabel nama=new JLabel("Nama").120). .add(txnim).awt. JLabel nim=new JLabel("NIM").add(txnama).100). JTextField txnim=new JTextField(7).add(tombolSimpan). komponenVisual(). setLocation(200.

add(north.34 b. public class borderlayout2 extends JFrame { JButton JButton JButton JButton JButton north = new JButton("NORTH"). south = new JButton("SOUTH"). getContentPane(). } public static void main(String args[]) { borderlayout2 bl = new borderlayout2(). import javax.2)). getContentPane(). east = new JButton("EAST").add(west.awt. setDefaultCloseOperation(JFrame."West"). borderlayout2() { setTitle("BorderLayout").300)."South"). setVisible(true).200). } } I . setSize(300. getContentPane().add(east.swing.add(center. } } . } void komponenVisual() { getContentPane().setLayout(new BorderLayout(2. setLocation(300."East").add(south. getContentPane(). west = new JButton("WEST")."Center").PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI } public static void main(String args[]){ flowlayout fl=new flowlayout(). getContentPane()."North"). komponenVisual().*.*.EXIT_ON_CLOSE). BorderLayout import java. center = new JButton("CENTER").

method add membutuhkan argumen nama obyek dan salah satu dari posisi layout yang telah disediakan dalam BorderLayout().200).100). import java. "North"). lima=new JButton("5").35 Kode program yang digunakan untuk pengaturan BoderLayout adalah : getContentPane(). GridLayout import javax.setLayout(new BorderLayout()).swing. tujuh=new JButton("7"). getContentPane(). dua=new JButton("2"). } void komponenVisual(){ getContentPane(). setDefaultCloseOperation(JFrame. class gridlayout extends JFrame{ JButton JButton JButton JButton JButton JButton JButton JButton JButton satu=new JButton("1"). empat=new JButton("4").setLayout(new GridLayout(3.add(satu). . setSize(200. delapan=new JButton("8").awt. gridlayout(){ setLocation(200.3)). getContentPane().*.add(dua). getContentPane().PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .*. sembilan=new JButton("9"). c.add(nama. komponenVisual(). enam=new JButton("6"). tiga=new JButton("3").EXIT_ON_CLOSE).

getContentPane(). JButton tblx = new JButton("Exit"). public class panellayout extends JFrame { JLabel cust = new JLabel("Nama Customer")."Semarang". JLabel ker = new JLabel("Nama Kereta"). JLabel men = new JLabel("Menuju"). JTextField nam = new JTextField(). dimana angka 3 pada argumen GridLayout menunjukkan banyaknya baris dan 3 menunjukkan banyaknya kolom. JLabel tanggal = new JLabel("Tanggal Berlaku"). getContentPane(). } } Kode program yang digunakan untuk pengaturan GridLayout adalah : getContentPane(). getContentPane().3)). setVisible(true).add(lima).swing.add(enam). JButton tble = new JButton("Edit"). getContentPane()."Yogyakarta".setLayout(new GridLayout(3. JTextField tan = new JTextField().36 } public static void main(String args[]){ gridlayout fl=new gridlayout(). import java. . I ."Mal ang"}. JLabel dar = new JLabel("Dari")."Bandung". String[] jenisasal={"Surabaya". JLabel kuan = new JLabel("Kuantitas Pesanan"). JButton tbls = new JButton("Simpan"). JPanel import javax."Jakarta". JLabel petug = new JLabel("Petugas"). d.*.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI getContentPane().add(empat).add(tiga).add(sembilan).add(delapan).add(tujuh).awt. getContentPane().*. getContentPane().

add(cbpesan). JPanel back_n = new JPanel()."4". north.add(tan).300). JPanel kosong1 = new JPanel(). JPanel back = new JPanel(). south.5. JComboBox cbpesan=new JComboBox(pesan). JPanel south = new JPanel(). String[] petugas={"Yuni". south.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .EXIT_ON_CLOSE).add(petug).add(nam)."Semarang". north. north. String[] jenistujuan={"Surabaya".setLayout(new GridLayout(8. JComboBox cbkereta=new JComboBox(jeniskereta).add(kosong)."2".setLayout(new GridLayout(8. setDefaultCloseOperation(JFrame."Jakarta". komponenVisual()."5"."6"}. } void komponenVisual() { north. JPanel kosong3 = new JPanel().5))."Argo". JPanel back_s = new JPanel(). 250)."3"."Wilis"}."Yogyakarta". JPanel kosong6 = new JPanel(). north."Taufan". JPanel back_w = new JPanel().1. north. south. JComboBox cbpetugas=new JComboBox(petugas). north."Cempaka". String[] jeniskereta={"Mutiara Selatan".5)). JComboBox cbtujuan=new JComboBox(jenistujuan).1.add(tanggal). setLocation(300. JPanel kosong5 = new JPanel(). ."M alang"}.add(ker).add(kuan). JPanel east = new JPanel(). south. south. panellayout() { setTitle("Kompleks Layout")."Dien". JPanel kosong2 = new JPanel(). north."Senja".add(cbasal). String[] pesan={"1". JPanel kosong4 = new JPanel().add(dar).add(tbls)."Putra"}. south.5.37 JComboBox cbasal=new JComboBox(jenisasal)."Viska".add(cust). JPanel kosong = new JPanel().add(cbkereta)."Rizky"."Gambir". JPanel north = new JPanel()."Bandung". setSize(400. north. JPanel back_e = new JPanel().

east.38 3. east.add(kosong1).add(south). getContentPane(). east. import javax. east.event.5)).add(back.5.add(back_s.5 Grafis a.add(kosong5).add(tblx). setVisible(true). back.setLayout(new GridLayout(1. getContentPane()."North").setLayout(new GridLayout(8. east. getContentPane().setLayout(new BorderLayout()). south. getContentPane().add(back_w.add(north).add(men).add(kosong3).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI south.*. .1.5)). back. } public static void main(String args[]) { panellayout pl = new panellayout().swing.add(cbtujuan).add(kosong2). getContentPane().add(tble).3. } } I . back."West"). east. import java."Center"). east.*. east. getContentPane().add(east).*.add(back_e. back.awt.add(kosong4). east.add(cbpetugas)."East").add(back_n."South").5. south.add(kosong6). Primitive Drawing import java.awt.

} } public class Menggambar extends JFrame { Kanvas gambar = new Kanvas().100.EXIT_ON_CLOSE).add(gambar.black). } void komponenVisual() { getContentPane().10. 100.drawOval(120.setColor(Color. g. Menggambar() { super("Aplikasi grafis sederhana").red).blue). g. setDefaultCloseOperation(JFrame.39 class Kanvas extends Canvas { public void paint(Graphics g) { g.setColor(Color.setColor(Color. } public static void main(String args[]) { Menggambar gb = new Menggambar(). g.drawLine(10.20. setVisible(true).50).setColor(Color.200). setSize(300.10). g.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .setLayout(new BorderLayout()).drawString("Selamat Belajar".100). } } Penjelasan dari sintak-sintak program di atas adalah sebagai berikut: class Kanvas1 extends Canvas{ public void paint(Graphics g){ } } .150).drawRect(10.red).50). g.250. g.20.50."Center"). komponenVisual(). setLocation(300. getContentPane(). g.

.250.. 100.setColor(Color.blue).250.. Kanvas gambar=new Kanvas().red). Method paint() pada Class Kanvas1 dapat diisi dengan berbagai sintaks untuk membuat aplikasi grafis...40 Sintaks ini merupakan class tempat menggambar berbagai obyek gambar.100). Digunakan untuk mengatur warna dari obyek gambar setelah baris tersebut dituliskan. Layout diatur menggunakan BorderLayout dan obyek gambar diletakkan dalam salah satu diantara lima posisi yang ada.10.10. Kode-kode tersebut diletakkan dalam method paint.. class Menggambar extends JFrame { Kanvas gambar=new Kanvas(). .drawString("Selamat Belajar".PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I ..20.red). . } } Penjelasan sintaks-sintaks di atas adalah sebagai berikut : g. g... g. g. getContentPane(). g. g..drawLine(10.BorderLayout.red)..drawOval(120. Pada class ini kita membentuk obyek menggunakan class Kanvas1 dengan nama gambar.drawRect(10.50).setColor(Color. } Class Menggambar adalah program aplikasi grafis kita.setColor(Color...black).10). g.50.50). Obyek gambar ini kemudian dimasukkan dalam method komponenVisual() untuk menampilkan di frame dengan cara: getContentPane().20.. misalnya kita isi dengan sintaks berikut : class Kanvas extends Canvas{ public void paint(Graphics g){ g.setColor(Color.10). .. Class inilah yang digunakan untuk meletakkan gambar yang kita bangun menggunakan kode-kode tertentu.CENTER). g... Output dari program di atas berupa frame kosong tanpa gambar apapun.add(gambar.setLayout(new BorderLayout()). Pada method paint() di atas tidak terdapat baris kode apapun sehingga output yang muncul adalah frame kosong tanpa gambar apapun.setColor(Color... g.drawLine(10.100.

g. Mouse Tracking dengan Canvas import java. . Argumen pertama merupakan string yang akan ditampilkan.100.18). argumen kedua dan ketiga menunjukkan posisi dari tulisan. } public void paint(Graphics g) { if(event == null){ return. import javax.RED).WHITE).awt.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .startY.drawString("Modifier Key: "+ modifier.*.drawString("Selamat Belajar". Digunakan untuk menggambar bentuk segi empat dimana argumen pertama dan kedua merupakan ujung kiri atas.20.length() > 0) { g. 100.awt.drawOval(120. String event = null.drawString("Mouse event type: "+ event. import java.setColor(Color.*. } g.BLACK). if(modifier. 6. g. argumen ketiga dan keempat menunjukkan koordinat titik akhir garis.*. 6.20. String modifier = "".event. } g.setColor(Color.34). argumen krtiga jarak horisontal dan argumen keempat adalah jarak vertikal. g. Digunakan untuk menggambar bentuk lingkaran dimana argumen pertama dan kedua merupakan koordinat pusat. Digunakan untuk menggambar bentuk string. m_canvas() { setBackground(Color. b.100).41 Digunakan untuk mengambar bentuk garis dimana argumen pertama dan kedua menunjukkan koordinat titik awal garis.50. g.50). argumen ketiga dan keempat menunjukkan ujung kanan bawah dari segi empat.drawRect(10.50). class m_canvas extends Canvas { int startX.swing.

"+startY+")". komponenVisual()."Center").300)."mouseDragged").setInfo(e.isShiftDown()) { modifier +="Shift ". mouseTrack() { setTitle("Mouse Track!").isMetaDown()) { modifier +="Meta ". setDefaultCloseOperation(JFrame.42 public class mouseTrack extends JFrame { m_canvas mc = new m_canvas(). } void setInfo(MouseEvent e. startY = e. String type) { this. } if(e.add(mc. } if(e. aksi(). setLocation(300. } }). mc.EXIT_ON_CLOSE).startY).event = type.drawString("("+startX+". } } I .getY().150). getContentPane().isAltDown()) { modifier +="Alt ". startX.isControlDown()) { modifier +="Control ". } if(e.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI g.setLayout(new BorderLayout(3.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { .getX(). } repaint(). setSize(300. } void aksi(){ mc. if(e. startX = e. modifier = "". setVisible(true).3)). } void komponenVisual() { getContentPane().addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { mc.

addMouseListener(new MouseAdapter() { public void mouseExited(MouseEvent e) { mc.setInfo(e. mc."mouseEntered"). } }). mc."mouseReleased").setInfo(e. mc."mouseExited"). } })."mousePressed").addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { mc. } }).addMouseMotionListener(new MouseMotionAdapter() { public void mouseMoved(MouseEvent e) { mc.setInfo(e.setInfo(e.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI mc."mouseClicked"). } }). } public static void main(String args[]) { mouseTrack mt = new mouseTrack().addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { mc. mc.setInfo(e.addMouseListener(new MouseAdapter() { public void mouseEntered(MouseEvent e) { mc. } } I . } }). mc.setInfo(e."mouseMoved"). } }).43 .

int height = getHeight().PLAIN.awt.i++) { int fontNum = (int)(5 * Math. java. javax.setFont(font4).setFont(font1).awt. Font. break. 14). i<25. setBackground(Color. (float)Math.random()) + 1.setFont(font2). font5 = new Font("Serif".BOLD + Font. 48).Component. Font.ITALIC.event. font3 = new Font("Monospaced". k_font (){ this(null).awt.44 c.setFont(font3). font4 = new Font("Dialog". font5. } font1 = font2 = new Font("Serif".BOLD.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .*. font2. Font. if (message == null ) { message = "Java !".swing.random().setFont(font5). switch(fontNum) { case 1: g. new Font("SansSerif". Font. 30).ITALIC. .random())). (float)Math.setColor(new Color((float)Math. for (int i=0. } public void paint(Graphics g) { int width = getWidth().random(). case 3: g.PLAIN. break. Animasi Font dengan Canvas import import import import java. class k_font extends Canvas { Font font1. } g. break. java.*. case 2: g. font4. font3. 36). String message. break. case 4: g.BLACK). } k_font (String stringMessage) { message = stringMessage. break. Font. case 5: g. 24).*.

} void aksi() { k. komponenVisual(). source. } void komponenVisual(){ getContentPane(). } animasiFont (){ setTitle("animasiFont "). setDefaultCloseOperation(JFrame.getSource().setLayout(new BorderLayout()).300). x = -50 + (int)(Math.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .drawString(message. setSize(300. y).random() * (width+40)).repaint().EXIT_ON_CLOSE). x."Center").addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { Component source = (Component) e.random() * (height + 20)). } } public class animasiFont extends JFrame { k_font k = new k_font (). } public static void main(String args[]) { animasiFont n = new animasiFont(). getContentPane(). setLocation(300.y.250).45 int x. setVisible(true). } }). aksi(). g. } } . y = (int) (Math.add(k.

60.setColor(Color. break. 60. g.event.fillRect(x-30.*. break.awt. g. case 2: g. simpleStampCanvas() { setBackground(Color.dispose(). } g. case 1: g.setColor(Color.*. . import javax. y-15. y-15.drawRect(x-30. import java. 30). } public void paint(Graphics g) { switch(p) { case 0: setBackground(Color. 30). g. y-15.awt.*. Simple Stamp import java. g. break. 30).RED). class simpleStampCanvas extends Canvas { int p = 0.BLACK).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .fillOval(x-30.BLACK). 60.setColor(Color. g.BLACK). 30).BLACK).setColor(Color.46 d.swing.drawOval(x-30. y-15. int x .BLUE). g.y. 60.

isMetaDown()) { if(e. } void komponenVisual() { getContentPane().150).isShiftDown()) ssC. getContentPane().p = 2 . aksi(). setDefaultCloseOperation(JFrame.repaint().y = e.p = 0. simpleStamp() { setTitle("Simple Stamp"). } void aksi() { ssC.getX().isShiftDown()) ssC. setLocation(300. "Center").47 } } public class simpleStamp extends JFrame { simpleStampCanvas ssC = new simpleStampCanvas().x = e.p = 1.getY().p = 0. else ssC.setLayout(new BorderLayout()). setVisible(true). ssC. } public static void main(String args[]) { .EXIT_ON_CLOSE). if(e. else } } }).add(ssC.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { ssC. } else{ if(e. komponenVisual(). ssC. ssC.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . setSize(300.300).

setColor(Color.*. class kanvas extends Canvas { private final static int BLACK =0.height-5).*. int height = getHeight().height).width-5. Program Paint import java.width-1. import javax.48 e.fillRect(width-56.WHITE). aksi(). g.height-3).GRAY).drawRect(1.2.drawRect(0. boolean drag. kanvas() { setBackground(Color.drawRect(2. import java.56) /7. prevY. int currentColor = BLACK. CYAN = 4. int prevX. } public void paint(Graphics g) { int width = getWidth(). RED = 1.56.*.height-1). GREEN=2. MAGENTA= 5. YELLOW = 6.0. /*membuat pembagian untuk 7 pallete warna*/ int colorSpacing = (height . Graphics lembarLukis. BLUE = 3.width-3. /*membuat canvas untuk pallete warna*/ g.awt.awt. .swing. g.0.1.event. I . /*membuat border untuk canvas*/ g. g.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI simpleStamp ss = } } Saat Klik Kiri Saat Klik Kanan Saat klik+shift new simpleStamp().

g.RED).setColor(Color.49.setColor(Color.49 /*membuat clear button*/ g. g.fillRect(width-53. /*membuat 7 pallete warna dengan batuan colorSpacing*/ g.setColor(Color.51.50.3+2*colorSpacing. g. g. g. g. int height = getHeight().fillRect(width-53.drawRect(width54.3+0*colorSpacing.3+6*colorSpacing.53. height-23).50.BLUE).fillRect(width-53.49).WHITE). g.colorSpacing).drawRect(width-53. g.colorSpacing-2). . g.3+4*colorSpacing. int colorSpacing = (height-56)/7.colorSpacing-3).fillRect(width-53. int newColor = y / colorSpacing. g. g.setColor(Color. g.setColor(Color. g. g.drawRect(width55.CYAN).BLACK).width-48.1+currentColor*colorSpacing.drawRect(width54.colorSpacing-3).fillRect(width-53.drawRect(width55. g.GREEN).50).colorSpacing-3). g.setColor(Color.colorSpacing-2).setColor(Color.colorSpacing).setColor(Color.colorSpacing-3).setColor(Color.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . g.fillRect(width-53. //mendapatkan range dari if(newColor>0 || newColor<6) { // pastikan bahwa hasil pembagian berada pada range yang benar Graphics g = getGraphics().50.colorSpacing-3).setColor(Color.1+currentColor*colorSpacing.fillRect(width-53. g.53.51.2+currentColor*colorSpacing.2+currentColor*colorSpacing.3+5*colorSpacing.50.colorSpacing-3). /*membuat borde 2 pixel di antara pallette warna */ g.50. } public void gantiWarna(int y) { int width = getWidth(). pallete /*pallete lama di set kembali denan border abu-abu*/ g. g.WHITE). g.50.height-53.height-53.3+1*colorSpacing.GRAY).colorSpacing-3).drawString("CLEAR".MAGENTA).50.50.3+3*colorSpacing. g.setColor(Color.BLACK).fillRect(width-53.YELLOW).

case MAGENTA: lembarLukis. } I .drawRect(width55.setColor(Color.50 } void aksi() { this.colorSpacing-2).51. break. switch(currentColor){ case BLACK: lembarLukis. //tinggi canvas . break.BLACK). break. //x koordinat saat user mengklik int y = e. g. //y koordinat saat user mengklik int width = getWidth().RED).setColor(Color.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI /*pallete baru di set dengan border putih*/ currentColor = newColor. case BLUE: lembarLukis.getY().addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { int x = e.setColor(Color. case GREEN: lembarLukis.CYAN).colorSpacing).53.setColor(Color. g.GREEN). case YELLOW: lembarLukis. break. //lebar canvas int height = getHeight().setColor(Color.getX(). } } /*Routine yang dipanggil oleh mousePressed ketika user mengklick area dari canvas gambar*/ /*Routine ini mengeset pallete warna */ void setWarna(){ lembarLukis = getGraphics().setColor(Color.1+currentColor*colorSpacing. break.setColor(Color.MAGENTA). break.YELLOW). g. break. g.2+currentColor*colorSpacing.dispose().drawRect(width54.BLUE).setColor(Color. case RED: lembarLukis.WHITE). case CYAN: lembarLukis.

//mulai menggambar dari point ini prevY = y. //akhir mouse ditekan this. } } } }). pallete warna } else if(x>3 && x < width-56 && y > 3 && y < height -3) { //user mengclik pada area canvas gambar prevX = x. } } //akhir mouse released }). lembarLukis = null. this. //x koordinat saat user int y = e. setWarna().getY().addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { if (drag == true){ mengklik mengklik /*menormalkan koordinat*/ int x = e. repaint().51 if (drag == false) { pada area pallete pada area clear if (x > width -53) { // user mengclik if(y > height . //y koordinat saat user if ( x<3) { x = 3.getX().53) { //user mengclik } else { //user mengclik pada area } gantiWarna(y).addMouseListener(new MouseAdapter() { public void mouseReleased(MouseEvent e) { if (drag == true){ drag=false. } .PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . drag = true.dispose(). lembarLukis.

prevY = y. melukis() { setTitle("Mari melukis yuk!").PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI if (x > getWidth() -57 ) { x = getWidth() -57. prevX = x. setDefaultCloseOperation(JFrame. } } public class melukis extends JFrame { kanvas kv = new kanvas(). } if(y>getHeight() -4) { y = getHeight() -4. } . } void komponenVisual(){ getContentPane(). } } //akhir mouse released I . setSize(600. } lembarLukis.x. komponenVisual().EXIT_ON_CLOSE).300). setVisible(true).add(kv).y). } } public static void main(String args[]) { melukis lukis = new melukis().drawLine(prevX.480). } if (y<3) { y=3. setLocation(300. prevY.52 }).

WHITE).setColor(Color. } else { g. boxX = 100.awt. boxY = 100. import java.53 f. canvas_k() { setBackground(Color. class canvas_k extends Canvas { final int ukuranBox = 40.event.*.*. } .swing. KeyboardEvent import java.LIGHT_GRAY). aksi(). warnaBox = Color. int boxX. if(hasFocus()) { g.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .*. int height = getHeight().CYAN). Color warnaBox. boxY.awt.setColor(Color.RED. import javax. } public void paint(Graphics g) { int width = getWidth().

this. 40).VK_UP) { boxY -=8. g. } repaint().drawString("K.drawRect(0.height-5).height-3).54 g. G.addFocusListener(new FocusAdapter() { public void focusGained(FocusEvent e) { repaint().ukuranBox.drawString("Tanda panah untuk menggerakkan!". if(key== KeyEvent.2. } else if(key == KeyEvent.height-1).getKeyCode(). if(boxX < 3) { boxX = 3. } else if(key == KeyEvent. g.0. g.VK_RIGHT) { boxX +=8. } }).7.fillRect(boxX.width-1. . if(hasFocus()) { g.width-5. if(boxX > getWidth() -3 .width-3.VK_LEFT) { boxX -= 8. B untuk ganti warna".7.1.RED). } } void aksi() { this.drawString("Klik untuk mengaktifkan!".setColor(warnaBox). ukuranBox).7. } else { g. g. } repaint(). 20). 20).drawRect(1. ukuranBox. boxY. this.drawRect(2.setColor(Color.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . g. g.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent e) { int key = e.ukuranBox) { boxX = getWidth() -3 . } }). R.addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { repaint().

} this. } repaint().100).BLACK.RED. } else if(key== 'R' || key== 'r' ) { warnaBox = Color. if(boxY > getHeight() . repaint().3 . repaint(). .ukuranBox. repaint(). } }).PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI if(boxY < 3) { boxY = 3 . I .addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { requestFocus().addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { char key = e.getKeyChar().BLUE. keyboardEvent2() { setTitle("Keyboard Event").. } else if(key== 'G' || key== 'g' ) { warnaBox = Color.55 } }).GREEN. } } public class keyboardEvent2 extends JFrame { canvas_k ck = new canvas_k(). } this. } }). setLocation(100.VK_DOWN) { boxY +=8. repaint(). } else if(key == KeyEvent.3 .ukuranBox) { boxY = getHeight() . } else if(key== 'B' || key== 'b' ) { warnaBox = Color. } repaint(). if(key== 'K' || key== 'k' ) { warnaBox = Color.

add(ck).56 } 4. } public static void main(String args[]) { keyboardEvent2 kb = new keyboardEvent2(). setVisible(true). } I .PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI setSize(300. setDefaultCloseOperation(JFrame. } void komponenVisual(){ getContentPane().EXIT_ON_CLOSE). komponenVisual(). Buatlah tampilan GUI seperti di bawah ini(gunakan cara manual): .300). Tugas a.

dengan tampilan sebagai berikut: Bila kita masukkan sebuah bilangan ke dalam textfield dan bilangan tersebut sesuai dengan bilangan yang kita tentukan. maka akan muncul tampilan gambar: . Buatlah sebuah program tebak angka.PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . maka akan muncul tampilan gambar : Bila angka yang kita masukkan tidak sesuai.57 b.

Buatlah Layout Calculator dan tambahkan eventHandlernya di bawah ini(gunakan layout manager): Gunakan method JTextField.RIGHT) untuk rata kanan. Modifikasi program seperti di bawah ini: .PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I . d. c.setHorizontalAlignment(JTextField.58 Dan ketika kita memasukkan sebuah bilangan baru ke dalam textfield maka tampilan akan kembali ke kondisi awal.

59 e. Buatlah satu aplikasi yang menggunkan minimal event handler di bawah ini dan class Cnavas(contoh Game): .PEMOGRAMAN BERORIENTASI OBJEK Pengenalan Java GUI I .

You're Reading a Free Preview

Mengunduh
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->