SlideShare a Scribd company logo
JAVA GUI
BAYU RIMBA PRATAMA, ST, M.KOM
INTRO
Java GUI memiliki 3 package: abstract windows kit (AWT), Swing
toolkit dan JavaFX.
Kita akan fokus pada Swing.
Komponen dari package Swing, memiliki prefix J di depannya
(misal JFrame, JWindows, dll).
WHY SWING?
AWT components is heavy
weighted thus the
execution time of AWT is
more than other. It has
comparatively less
functionality as compared
to others. If using AWT,
you have to implement a
lot of things yourself.
Swing is its mature and
stable. Swing provides a
rich set of components.
With Swing, we can create
complex and highly
customizable interfaces
using a variety of layout
managers, containers, and
components.
JavaFX has a modern
architecture and supports
a wide range of UI
components, animations,
multimedia features,
including hardware
acceleration and 3D
graphics. This makes it
ideal for creating visually-
rich and interactive
applications.
JFRAME
 Every application we build extends the JFrame
object, meaning our applications acquire all the
characteristics of a frame
 The Frame is a container object. One feature of
a container object is that if its visible property is
set to false, all controls will become invisible
Frame Properties
title Frame windows title
font Font name, style, size
background Frame background color
foreground Color of text or graphic
width Width of frame
height Height of frame
resizable Indicating frame is fixed sized or not
visible If false, hide frame (and all its
controls)
JFRAME
MOVE JFRAME TO THE CENTER OF SCREEN
 Buat atribut baru dengan tipe class Dimension
 Hitung posisi X dan posisi Y
 Gunakan method setLocation()
LAYOUT MANAGER
FlowLayout GridLayout BoxLayout
BorderLayout (none)
EXAMPLE FLOW LAYOUT
 Tampilan program:
 Posisi component bersifat dinamis /
menyesuaikan dengan ukuran Frame
 Apabila ukuran Frame diubah (resize), maka letak
component akan menyesuaikan (ikut berubah)
EXAMPLE GRID LAYOUT
 Tampilan program:
 Apabila ukuran Frame diubah (resize) maka letak
component akan relative tetap (tidak berubah),
hanya ukuran nya saja yang bertambah.
 Grid Layout akan menyimpan
widget/component pada cell masing-masing
sesuai urutannya
EXAMPLE BOX LAYOUT
 Tampilan program:
 Box Layout dapat menyusun component secara
vertical atau horizontal
 Dalam contoh ini, component disusun secara
horizontal (X_AXIS, line code: 14)
EXAMPLE BORDER LAYOUT
 Tampilan program:
 Setiap component ditempatkan sesuai dengan
arah mata angin
EXAMPLE NONE LAYOUT
 Tampilan program:
 Apabila layoutManager bernilai null maka setiap
component perlu dipetakan ukuran dan posisi
absolute-nya menggunakan method setBounds()
 Karena posisi component bersifat absolute, bila
Frame diperbesar maka posisi component akan
tetap
ACTIONLISTENER
 Bagaimana agar program dapat berinteraksi dengan user?  gunakan interface ActionListener
 Buat project baru dengan nama: SimpleCalc
ACTIONLISTENER
 Tambahkan Class baru  Beri nama class: SimpleCalculator
 Beri superclass JFrame dan interface
ActionListener
ACTIONLISTENER
 Terdapat error pada Class tersebut. Ikuti hints
dari netbeans dan pilih Implements all abstract
methods
 Class tersebut akan meng-override method
actionPerformed()
 Copy Paste source code SimpleCalculator.java
dari sini: https://pastebin.com/qUE8kdAq
JAVA GUI DEVELOPMENT USING NETBEANS
 Buat Project Baru, misal : DemoGui2
 Klik kanan pada main package, pilih New > JFrame Form…
JAVA GUI DEVELOPMENT USING NETBEANS
 Beri nama class name: LoginForm
 Klik tombol Finish
JAVA GUI DEVELOPMENT USING NETBEANS
 Tampilan design GUI editor
JAVA GUI DEVELOPMENT USING NETBEANS
 Klik sub tab Source (1), tambahkan setVisibile(true) pada constructor (2), delete main method (3).
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada DemoGui2.java, ubah body main method menjadi seperti berikut, lalu run program.
JAVA GUI DEVELOPMENT USING NETBEANS
 Dengan menggunakan Palette, buat tampilan LoginForm seperti pada gambar di bawah ini.
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada package yg sama, Buat JFrame Form dan beri nama class : MainForm
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada MainForm.java, hapus main method. Lalu tambahkan atribut prevFrame dan setter method nya
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada tampilan Design MainForm, tambahkan button Logout. Lalu double Click button tersebut. Anda
akan diarahkan pada method yang akan dipanggil bila button tersebut di-klik.
 Tambahkan line of code seperti pada gambar di kanan
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada source code class LoginForm, tambahkan attribute dengan tipe class MainForm seperti pada line of
code pada gambar di bawah ini.
JAVA GUI DEVELOPMENT USING NETBEANS
 Pada tampilan Design LoginForm, double click button Login. Anda akan diarahkan pada method yang
akan dipanggil bila button tersebut di-klik.
 Tambahkan line of code seperti pada gambar di kanan, lalu Run program
JAVA GUI DEVELOPMENT USING NETBEANS
 Ketika Anda klik Logout, username dan password yang sebelumnya sudah diinputkan masih tersimpan
pada text field dan password field.
 Latihan e-Learning:
 Buat agar ketika user meng-klik Logout, username dan password yang sebelumnya sudah diinputkan menjadi
hilang lagi!
 Buat agar ketika LoginForm selalu muncul pada tengah layar!
 Buat agar ketika MainForm muncul selalu dalam ukuran maximal screen! Atur minimal size nya di 600 x 600!
 Hapus tombol Logout pada MainForm. Tambahkan menu bar yang terdiri dari File dan Help. File memiliki sub
menu Logout dan Exit. Help memiliki sub menu About.
 Sub Menu Logout untuk kembali ke LoginForm. Sub Menu Exit utk keluar. Keduanya disertai dengan konfirmasi.
 Sub Menu About menampilkan creator. Munculkan Nama dan NPM Anda.
 Cobalah untuk mengganti icon JFrame!
THANK YOU

More Related Content

Similar to Presentasi latihan pemrograman Java GUI menggunakan SWING

Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
Muhammad Iskandar Dzulqornain
 
Modul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swingModul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swingAgung W
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
stephan EL'wiin Shaarawy
 
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widgetChapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Edi Faizal
 
Dasar dasar netbeans
Dasar dasar netbeansDasar dasar netbeans
Dasar dasar netbeans
Qhindy Yanuar
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingIndividual Consultants
 
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavrPrayogy Pangestu
 
Remote pemantau webcam berbasis aplikasi j2me
Remote pemantau  webcam  berbasis aplikasi j2meRemote pemantau  webcam  berbasis aplikasi j2me
Remote pemantau webcam berbasis aplikasi j2me
Dwi Fahmi
 
template PPT extend.pptx
template PPT extend.pptxtemplate PPT extend.pptx
template PPT extend.pptx
LoisCristya
 
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdfmodul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
Herikusnawijaya3
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
SMK - Statens Museum for Kunst
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaEko Kurniawan Khannedy
 
Algol
AlgolAlgol
Modul PBO Bab-09 - Swing
Modul PBO Bab-09 - SwingModul PBO Bab-09 - Swing
Modul PBO Bab-09 - Swing
Rakhmat Dedi Gunawan
 
270610 arm pemrograman_java_dengan_netbean_ide
270610 arm pemrograman_java_dengan_netbean_ide270610 arm pemrograman_java_dengan_netbean_ide
270610 arm pemrograman_java_dengan_netbean_ide
Vera Lake
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programming
eddie Ismantoe
 
Jeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 JsfJeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 Jsf
Individual Consultants
 
nael ppt pbo.pptx
nael ppt pbo.pptxnael ppt pbo.pptx
nael ppt pbo.pptx
naelpurnawan
 
Jsf
JsfJsf

Similar to Presentasi latihan pemrograman Java GUI menggunakan SWING (20)

Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Modul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swingModul praktikum-pbo-5-swing
Modul praktikum-pbo-5-swing
 
Modul praktikum pbo java swing
Modul praktikum pbo java swingModul praktikum pbo java swing
Modul praktikum pbo java swing
 
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widgetChapt 03 layouting dan desain antarmuka & input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka & input kontrol dan android widget
 
Dasar dasar netbeans
Dasar dasar netbeansDasar dasar netbeans
Dasar dasar netbeans
 
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan SwingJeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
 
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
97674720 buku-mikrokontroler-atmega8535-dengan-codevisionavr
 
Remote pemantau webcam berbasis aplikasi j2me
Remote pemantau  webcam  berbasis aplikasi j2meRemote pemantau  webcam  berbasis aplikasi j2me
Remote pemantau webcam berbasis aplikasi j2me
 
template PPT extend.pptx
template PPT extend.pptxtemplate PPT extend.pptx
template PPT extend.pptx
 
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdfmodul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
modul-praktikum-pemrogramanjavadgnnetbeans-171005005920.pdf
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Membuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan javaMembuat aplikasi sederhana menggunakan java
Membuat aplikasi sederhana menggunakan java
 
Algol
AlgolAlgol
Algol
 
Modul PBO Bab-09 - Swing
Modul PBO Bab-09 - SwingModul PBO Bab-09 - Swing
Modul PBO Bab-09 - Swing
 
270610 arm pemrograman_java_dengan_netbean_ide
270610 arm pemrograman_java_dengan_netbean_ide270610 arm pemrograman_java_dengan_netbean_ide
270610 arm pemrograman_java_dengan_netbean_ide
 
Object Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java ProgrammingObject Oriented Programming (OOP) With Java Programming
Object Oriented Programming (OOP) With Java Programming
 
Jeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 JsfJeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 Jsf
 
nael ppt pbo.pptx
nael ppt pbo.pptxnael ppt pbo.pptx
nael ppt pbo.pptx
 
J S F
J S FJ S F
J S F
 
Jsf
JsfJsf
Jsf
 

More from Bayu Rimba

Slide Presentasi Dasar-dasar Flowchart
Slide Presentasi Dasar-dasar FlowchartSlide Presentasi Dasar-dasar Flowchart
Slide Presentasi Dasar-dasar Flowchart
Bayu Rimba
 
Slide Tugas Algoritma dan Pemrograman
Slide Tugas Algoritma dan PemrogramanSlide Tugas Algoritma dan Pemrograman
Slide Tugas Algoritma dan Pemrograman
Bayu Rimba
 
Slide Presentasi Teknik OO pada Desain Software
Slide Presentasi Teknik OO pada Desain SoftwareSlide Presentasi Teknik OO pada Desain Software
Slide Presentasi Teknik OO pada Desain Software
Bayu Rimba
 
Slide Dasar Materi Java Collection Framework
Slide Dasar Materi Java Collection FrameworkSlide Dasar Materi Java Collection Framework
Slide Dasar Materi Java Collection Framework
Bayu Rimba
 
Slide Latihan JDBC bagian 2
Slide Latihan JDBC bagian 2Slide Latihan JDBC bagian 2
Slide Latihan JDBC bagian 2
Bayu Rimba
 
Slide Latihan JDBC
Slide Latihan JDBCSlide Latihan JDBC
Slide Latihan JDBC
Bayu Rimba
 

More from Bayu Rimba (6)

Slide Presentasi Dasar-dasar Flowchart
Slide Presentasi Dasar-dasar FlowchartSlide Presentasi Dasar-dasar Flowchart
Slide Presentasi Dasar-dasar Flowchart
 
Slide Tugas Algoritma dan Pemrograman
Slide Tugas Algoritma dan PemrogramanSlide Tugas Algoritma dan Pemrograman
Slide Tugas Algoritma dan Pemrograman
 
Slide Presentasi Teknik OO pada Desain Software
Slide Presentasi Teknik OO pada Desain SoftwareSlide Presentasi Teknik OO pada Desain Software
Slide Presentasi Teknik OO pada Desain Software
 
Slide Dasar Materi Java Collection Framework
Slide Dasar Materi Java Collection FrameworkSlide Dasar Materi Java Collection Framework
Slide Dasar Materi Java Collection Framework
 
Slide Latihan JDBC bagian 2
Slide Latihan JDBC bagian 2Slide Latihan JDBC bagian 2
Slide Latihan JDBC bagian 2
 
Slide Latihan JDBC
Slide Latihan JDBCSlide Latihan JDBC
Slide Latihan JDBC
 

Presentasi latihan pemrograman Java GUI menggunakan SWING

  • 1. JAVA GUI BAYU RIMBA PRATAMA, ST, M.KOM
  • 2. INTRO Java GUI memiliki 3 package: abstract windows kit (AWT), Swing toolkit dan JavaFX. Kita akan fokus pada Swing. Komponen dari package Swing, memiliki prefix J di depannya (misal JFrame, JWindows, dll).
  • 3. WHY SWING? AWT components is heavy weighted thus the execution time of AWT is more than other. It has comparatively less functionality as compared to others. If using AWT, you have to implement a lot of things yourself. Swing is its mature and stable. Swing provides a rich set of components. With Swing, we can create complex and highly customizable interfaces using a variety of layout managers, containers, and components. JavaFX has a modern architecture and supports a wide range of UI components, animations, multimedia features, including hardware acceleration and 3D graphics. This makes it ideal for creating visually- rich and interactive applications.
  • 4. JFRAME  Every application we build extends the JFrame object, meaning our applications acquire all the characteristics of a frame  The Frame is a container object. One feature of a container object is that if its visible property is set to false, all controls will become invisible Frame Properties title Frame windows title font Font name, style, size background Frame background color foreground Color of text or graphic width Width of frame height Height of frame resizable Indicating frame is fixed sized or not visible If false, hide frame (and all its controls)
  • 6. MOVE JFRAME TO THE CENTER OF SCREEN  Buat atribut baru dengan tipe class Dimension  Hitung posisi X dan posisi Y  Gunakan method setLocation()
  • 7. LAYOUT MANAGER FlowLayout GridLayout BoxLayout BorderLayout (none)
  • 8. EXAMPLE FLOW LAYOUT  Tampilan program:  Posisi component bersifat dinamis / menyesuaikan dengan ukuran Frame  Apabila ukuran Frame diubah (resize), maka letak component akan menyesuaikan (ikut berubah)
  • 9. EXAMPLE GRID LAYOUT  Tampilan program:  Apabila ukuran Frame diubah (resize) maka letak component akan relative tetap (tidak berubah), hanya ukuran nya saja yang bertambah.  Grid Layout akan menyimpan widget/component pada cell masing-masing sesuai urutannya
  • 10. EXAMPLE BOX LAYOUT  Tampilan program:  Box Layout dapat menyusun component secara vertical atau horizontal  Dalam contoh ini, component disusun secara horizontal (X_AXIS, line code: 14)
  • 11. EXAMPLE BORDER LAYOUT  Tampilan program:  Setiap component ditempatkan sesuai dengan arah mata angin
  • 12. EXAMPLE NONE LAYOUT  Tampilan program:  Apabila layoutManager bernilai null maka setiap component perlu dipetakan ukuran dan posisi absolute-nya menggunakan method setBounds()  Karena posisi component bersifat absolute, bila Frame diperbesar maka posisi component akan tetap
  • 13. ACTIONLISTENER  Bagaimana agar program dapat berinteraksi dengan user?  gunakan interface ActionListener  Buat project baru dengan nama: SimpleCalc
  • 14. ACTIONLISTENER  Tambahkan Class baru  Beri nama class: SimpleCalculator  Beri superclass JFrame dan interface ActionListener
  • 15. ACTIONLISTENER  Terdapat error pada Class tersebut. Ikuti hints dari netbeans dan pilih Implements all abstract methods  Class tersebut akan meng-override method actionPerformed()  Copy Paste source code SimpleCalculator.java dari sini: https://pastebin.com/qUE8kdAq
  • 16. JAVA GUI DEVELOPMENT USING NETBEANS  Buat Project Baru, misal : DemoGui2  Klik kanan pada main package, pilih New > JFrame Form…
  • 17. JAVA GUI DEVELOPMENT USING NETBEANS  Beri nama class name: LoginForm  Klik tombol Finish
  • 18. JAVA GUI DEVELOPMENT USING NETBEANS  Tampilan design GUI editor
  • 19. JAVA GUI DEVELOPMENT USING NETBEANS  Klik sub tab Source (1), tambahkan setVisibile(true) pada constructor (2), delete main method (3).
  • 20. JAVA GUI DEVELOPMENT USING NETBEANS  Pada DemoGui2.java, ubah body main method menjadi seperti berikut, lalu run program.
  • 21. JAVA GUI DEVELOPMENT USING NETBEANS  Dengan menggunakan Palette, buat tampilan LoginForm seperti pada gambar di bawah ini.
  • 22. JAVA GUI DEVELOPMENT USING NETBEANS  Pada package yg sama, Buat JFrame Form dan beri nama class : MainForm
  • 23. JAVA GUI DEVELOPMENT USING NETBEANS  Pada MainForm.java, hapus main method. Lalu tambahkan atribut prevFrame dan setter method nya
  • 24. JAVA GUI DEVELOPMENT USING NETBEANS  Pada tampilan Design MainForm, tambahkan button Logout. Lalu double Click button tersebut. Anda akan diarahkan pada method yang akan dipanggil bila button tersebut di-klik.  Tambahkan line of code seperti pada gambar di kanan
  • 25. JAVA GUI DEVELOPMENT USING NETBEANS  Pada source code class LoginForm, tambahkan attribute dengan tipe class MainForm seperti pada line of code pada gambar di bawah ini.
  • 26. JAVA GUI DEVELOPMENT USING NETBEANS  Pada tampilan Design LoginForm, double click button Login. Anda akan diarahkan pada method yang akan dipanggil bila button tersebut di-klik.  Tambahkan line of code seperti pada gambar di kanan, lalu Run program
  • 27. JAVA GUI DEVELOPMENT USING NETBEANS  Ketika Anda klik Logout, username dan password yang sebelumnya sudah diinputkan masih tersimpan pada text field dan password field.  Latihan e-Learning:  Buat agar ketika user meng-klik Logout, username dan password yang sebelumnya sudah diinputkan menjadi hilang lagi!  Buat agar ketika LoginForm selalu muncul pada tengah layar!  Buat agar ketika MainForm muncul selalu dalam ukuran maximal screen! Atur minimal size nya di 600 x 600!  Hapus tombol Logout pada MainForm. Tambahkan menu bar yang terdiri dari File dan Help. File memiliki sub menu Logout dan Exit. Help memiliki sub menu About.  Sub Menu Logout untuk kembali ke LoginForm. Sub Menu Exit utk keluar. Keduanya disertai dengan konfirmasi.  Sub Menu About menampilkan creator. Munculkan Nama dan NPM Anda.  Cobalah untuk mengganti icon JFrame!