PROGRAMMING #20 : Java Programming for Programmer - The Basics of Java GUI (PART 3) | [BAHASA]

in #programming7 years ago

Pada materi kali ini merupakan lanjutan dari materi sebelumnya yang telah saya bahas yaitu Java Programming for Programmer - The Basics of Java GUI (PART 2). Masih dalam topik yang sama, dimana saya akan membahas mengenai dasar-dasar GUI pada Java. Materi ini merupakan suatu penerapan langsung yang saya tuangkan kedalam wadah nyata dari perkembangan teknologi masa modern saat ini, tak lain ialah steemit yang menjadi pusat penerapan ilmu pengetahuan "ya... tentu saja! menurut pendapat saya sendiri". Maka dari itu langsung saja pada pokok pembahasan berikut ini.

Menampilkan Teks dan Citra pada Sebuah Jendela

Pada contoh berikutnya, akan dikenalkan sebuah framework untuk membangun aplikasi GUI. Beberapa konsep pada framework ini akan muncul pada banyak aplikasi GUI. Ini merupakan contoh pertama dimana aplikasi berada didalam jendelanya sendiri. Kebanyakan jendela yang akan anda ciptakan yang memuat komponen-komponen GUI Swing merupakan contoh dari kelas JFrame atau subkelas dari JFrame. JFrame merupakan subkelas tak langsung dari kelas java.awt.Window yang menyediakan beberapa atribut dan watak dasar dari sebuah jendela seperti batang judul, tombol untuk meminimalkan, memaksimalkan, dan menutup jendela. Karena aplikasi GUI secara umum spesifik terhadap aplikasi tertentu. Kebanyakan contoh yang akan diberikan akan memuat dua kelas, yaitu sebuah subkelas dari JFrame yang mendemonstrasikan beberapa konsep GUI yang baru dan sebuah kelas aplikasi dimana didalamnya main menciptakan dan menampilkan aplikasi jendela utama.

Melabel Komponen GUI

Sebuah GUI secara umum memuat beberapa komponen. Para perancang GUI sering kali menyediakan teks untuk menyatakan tujuan setiap komponen. Teks semacam itu dikenal dengan label dan diciptakan dengan JLabel, sebuah kelas dari JComponent. JLabel menampilkan teks read-only, citra, atau kedua teks dan citra.

Aplikasi pada kode 2.2 dan kode 2.3 mendemonstrasikan beberapa fitur JLabel dan menyajikan framework yang digunakan pada kebanyakan contoh GUI pada buku ini. Ada banyak fitur lain yang akan dirangkum pada beberapa contoh kedepan.

Kode 2.2

Kode 2.3

Kelas LabelFrame (kode 1.2) merupakan subkelas dari JFrame. Sebuah contoh dari kelas LabelFrame akan dipakai untuk menampilkan sebuah jendela yang memuat tiga JLabel. Baris 3-8 mengimpor kelas-kelas yang digunakan pada kelas LabelFrame. Kelas ini mewarisi beberapa fitur jendela dari JFrame. Baris 12-14 mendeklarasikan tiga variabel contoh JLabel yang dicontohkan pada konstruktor LabelFrame (baris 17-41). Baris 19 memanggil konstruktor dari superkelas JFrame dengan argumen "Menguji JLabel". Konstruktor JFrame menggunakan string ini sebagai teks pada batang judul jendela.

Mengatur Tata Letak

Ketika membangun sebuah GUI, anda harus mengaitkan setiap komponen GUI dengan sebuah kontainer, seperti sebuah jendela yang diciptakan dengan JFrame. Selain itu, anda umumnya harus memutuskan dimana memposisikan setiap komponen GUI yang dikenal dengan tata letak. Java menyediakan beberapa manajer tata letak yang dapat membantu anda dalam memposisikan setiap komponen. Banyak IDE menyediakan perangkat perancangan GUI dimana didalamnya anda dapat menetapkan ukuran dan lokasi setiap komponen secara visual menggunakan mouse. IDE tersebut juga akan membangkitkan kode GUI bagi anda.

Untuk memastikan bahwa GUI anda dapat digunakan pada sembarang IDE, anda tidak menggunakan IDE dalam menciptakan kode GUI. Anda menggunakan manajer tata letak Java untuk menetapkan ukuran dan posisi komponen. Dengan manajer tata letak FlowLayout, komponen ditempatkan pada sebuah kontainer dari kiri ke kanan dengan urutan ketika ia ditambahkan. Setiap kontainer memiliki tata letak default sendiri. Metode setLayout diwariskan ke kelas LabelFrame secara tak langsung dari kelas Container. Argumen pada metode tersebut dapat berupa sebuah objek dari suatu kelas yang mengimplementasikan antarmuka LayoutManager (misalnya, FlowLayout). Baris 20 menciptakan sebuah objek FlowLayout dan melewatkan referensinya sebagai argumen kepada setLayout.

Menciptakan dan Melekatkan Label1

Karena anda telah menetapkan tata letak jendela, anda sekarang mulai menciptakan dan melekatkan komponen GUI pada jendela. Baris 23 menciptakan sebuah objek JLabel dan melewatkan "JLabel dengan teks" kepada konstruktor. JLabel menampilkan teks ini pada layar sebagai bagian dari aplikasi GUI. Baris 24 menggunakan metode setToolTipText (diwarisi oleh JLabel dari JComponent) untuk menetapkan tool tip yang ditampilkan ketika pengguna memposisikan kursor mouse diatas JLabel pada GUI. Anda dapat melihat contoh tool tip pada Gambar 2.5. Ketika anda mengeksekusi aplikasi ini, anda bisa mencoba memposisikan mouse diatas setiap JLabel untuk melihat tool tip masing-masing. Baris 25 melekatkan label1 dengan LabelFrame dengan melewatkan label1 kepada metode add, yang diwarisi secara tak langsung dari kelas Container.

Antarmuka Icon dan Kelas ImageIcon

Ikon adalah salah satu cara populer dalam meningkatkan penampilan sebuah aplikasi dan juga yang paling umum digunakan untuk mengindikasikan fungsionalitas. Beberapa komponen Swing dapat menampilkan citra. Ikon dispesifikasi dengan sebuah argumen Icon kepada sebuah konstruktor atau kepada metode setIcon. Icon merupakan sebuah objek dari sembarang kelas yang mengimplementasikan antarmuka Icon (paket javax.swing). Kelas ImageIcon mendukung beberapa format citra, termasuk GIF (Graphics Interchange Format), PNG (Portable Network Graphics), dan JPEG (Joint Photographic Experts Group).

Baris 28 mendeklarasikan sebuah ImageIcon. File steemit.png memuat citra yang akan disimpan pada objek ImageIcon. Citra ini ditempatkan pada direktori yang sama dengan kode Java. Objek ImageIcon ditugaskan kepada referensi Icon, steemit.

To be continued...

Warm Regards alfarisi - KSI Chapter Lhokseumawe


INDONESIAN STEEMIT COMMUNITY


Sort:  

Terima kasih telah berbagi abg..
Semoga sukses selalu @alfarisi...

Sama2 juga bang, saya jg berterima kasih karna telah berkunjung di blog saya yg sederhana ini 😂 amin amin amin, semoga abg juga selalu sukses @boyelleq

Mantap adoe 👍👍
Terus konsisten dalam memberikan informasi yang bermanfaat dalam hal teknologi kepada rekan2 steemian lainnya.

Uuuppss bang bro best kali lahh, adeknya ini selalu didukung wkwkwkw, terima kasih banyak bang. Insya Allah aku terus konsisten. Sukses juga abg disan :D @alvaro017

Siiiippp adoe meutuah 👍😁
Sekali2 bisa juga lari ke puisi, untuk menambah suasana biar makin gimana lah gitu 😁

Hahahah adekmu ini gak jago puisi lagi bang, dan harus konsisten ke pemrograman dulu untuk sementara ini wkwkwkwwk @alvaro017

Waaahhh sudah kelas tingkat atas itu,,, bagi saya pemula hanya bisa membaca dan mengikuti saja,,(gak ngerti samasekali) over All mantap..lanjutkan

Hahaha terima kasih banyak mas. Saya jadi terharuu gini 😂😂 @myus

Thank you bang ,btw sejak kapan di medan bang? @kakilasak

terimakasih bg @alfarisi atas pengetahuannya tentang java. Sebelumnya saya juga pernah belajar java, lumayan mudah bg tapi pada bahasa agak susah sedikit bg, jadi saya beralih ke bahasa php bg. kalau bahasa yg terdapat pada java tidak biasa sepenuhnya kita modif, tetapi pada php kita bisa memodivnya dengan sedemikian rupa, bisa dengan kita tambahkan css. terimaksih bg@alfarisi.

Kayaknya saya juga harus banyak belajar bahasa php nih :D hahaha Kamu kuliah di poltek kan? soalnya saya juga dek, saya di prodi IT nya, udah tingkat akhir @muhammadfikri

mohon dibantu untuk lebih memahami bahasa java bg ya, dan juga tentang steemitnya. ohya abg pakai aplikasi netbeans bg ya?. saya ingin jadi progammer yg berbakat seperti abg. maksih ya bg @alfarisi. terus semangat buat memberikan yang terbaik bagi kami para steemian ya bg

Iyaa dek, Insya Allah saya akan selalu membantu semampu saya. Kalau tentang steemit itu pasti saya bantu kok. Iyaa dek bener saya pake netbeans. Hahaha saya ini belum berbakat loh, toh saya juga masih dalam tahap pembelajaran juga. Sama nya kita ini :D Tapi terima kasih banyak ya dek karna mau ngedukung. Terima kasih banyak juga udah mampir di blog abg yg sederhana ini. Salam kenal @muhammadfikri

Coin Marketplace

STEEM 0.17
TRX 0.15
JST 0.029
BTC 62228.71
ETH 2419.51
USDT 1.00
SBD 2.57