-
-
Notifications
You must be signed in to change notification settings - Fork 54
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7bc6415
commit 444d275
Showing
4 changed files
with
83 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# JAVA GUI | ||
Pada materi kali ini akan membahas Java GUI. Ngomong-ngomong, sebelum membahas GUI apa sih itu GUI?? GUI (Graphical User Interface) merupakan sistem komponen visual interaktif untuk software komputer. Menurut Computer Hope, GUI menampilkan objek yang bisa menyampaikan informasi dan merepresentasikan aksi dari pengguna. Dengan adanya GUI, kita bisa mengetahui bahwa apa yang kita input telah diterima dan responsnya ditunjukkan secara visual. GUI bisa terlihat dari perubahan warna, ukuran, visibilitas, dan sejenisnya ketika terjadi sebuah interaksi.Java | ||
|
||
### Jenis-jenis Java GUI | ||
1. AWT (Abstract Window Toolkit) | ||
AWT adalah GUI Toolkit pertama pada bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada ). Aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native yaitu, jika aplikasi yang dibangun menggunakan AWT ini dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar setiap komponen-nya ke layar. | ||
|
||
2. Java Swing | ||
Toolkit dalam Pemrograman GUI di Java yang banyak dikenal dikarenakan dukungan tutorialnya banyak di Internet, dan juga merupakan standart dari Java sehingga tidak perlu melakukan penambahan library lagi kalau ingin menggunakan GUI Toolkit ini. Terdapat 2 IDE besar yang menggunakan GUI Toolkit Java Swing yaitu NetBeans IDE(OpenSource) dan IntelliJ IDEA (mempunyai versi OpenSource dan Komersial). Dibandingkan dengan AWT, Swing mempunyai lebih banyak komponen pendukung untuk membangun sebuah aplikasi yang lengkap untuk keperluan desktop. Swing ini 100 % ditulis dengan bahasa pemrograman Java tanpa adanya sebuah wrapper untuk memanggil rutin-rutin native code via JNI (Java Native Interface). Seluruh komponen yang terdapat pada Swing, semuanya murni digambar sendiri menggunakan API (Application Programming Interface) 2D untuk memanggil rutin-rutin dasar penggambaran komponen-nya. Dengan model seperti ini, memungkinkan sekali aplikasi yang dibangun menggunakan Swing tampak sama persis di berbagai macam Sistem Operasi. Swing juga mempunyai kemampuan untuk berganti-ganti tampilan menggunakan LAF (Look And Feel) atau themes Sayang-nya, jika kita menginginkan tampilan GUI yang native (tampilan-nya sama seperti aplikasi-aplikasi lain pada sistem operasi target) Swing seperti-nya masih terasa kurang smooth terutama dukungan pada font rendering-nya. | ||
|
||
3. SWT (Standart Widget Tookit) | ||
GUI Toolkit yang dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model pemanggilan native GUI library seperti ini adalah kita harus menyediakan library untuk tiap-tiap Sistem Operasi target aplikasi kita. | ||
|
||
Penasarankan *source_code* dari setiap-setiap Java GUI? Jika penasaran langsung klik saja Folder yang ada dibawah ini | ||
|
||
1. [AWT](https://image.freepik.com/free-vector/abstract-grunge-style-coming-soon-with-black-splatter_1017-26690.jpg) | ||
2. [Swing](learn/advance/Java-GUI/Swing/) | ||
3. [SWT](https://image.freepik.com/free-vector/abstract-grunge-style-coming-soon-with-black-splatter_1017-26690.jpg) |
19 changes: 19 additions & 0 deletions
19
learn/advanced/Java-GUI/Swing/JPanel-with-JLabel/Clean-JPanel/MembuatGUISendiri.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
import javax.swing.*; // mengimport Package Swing yang merupakan Toolkit standart Java GUI | ||
|
||
public class MembuatGUISendiri { // mendeklarasikan class, pastikan nama class sesuai dengan source_code | ||
public static void main(String[] args) { // mendeklarasikan method void | ||
SwingUtilities.invokeLater(new Runnable() { // utilities dari Java Swing yang biasanya digunakan untuk menjakanj= | ||
public void run() { // methood void yang biasanya dideklarasikan untuk menjalankan dari sebuah variabel | ||
createAndShowGUI(); // mendeklarasikan variabel yang dimana akan digunakan untuk | ||
} | ||
}); | ||
} | ||
private static void createAndShowGUI() { // mendeklarasikan method void private yang dimana akan digunakan untuk membuat GUI Java | ||
JFrame frame = new JFrame("Ini adalah title dari JPanel"); //JFrame adalah Subclass dari JPanel yang memiliki fungsi sama dengan JPanel | ||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // dari variabel fram pada JFrame yang mendeklarasikan | ||
JLabel label = new JLabel("Hello World"); // menambahkan label pada panel GUI Java. Label ini juga bisa menuliskan sebuah output dengan tipe data "String". | ||
frame.getContentPane().add(label); | ||
frame.pack(); | ||
frame.setVisible(true); | ||
} | ||
} |
26 changes: 26 additions & 0 deletions
26
learn/advanced/Java-GUI/Swing/JPanel-with-JLabel/Colorful-JPanel/ContohPanel.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
import javax.swing.*; | ||
import java.awt.*; | ||
|
||
public class ContohPanel { | ||
public static void main(String[] args) { | ||
SwingUtilities.invokeLater(new Runnable() { | ||
public void run() { | ||
createAndShowGUI(); | ||
} | ||
}); | ||
} | ||
|
||
private static void createAndShowGUI() { | ||
JFrame frame = new JFrame("gambar di bawah adalah gambar warna COKLAT !!!"); | ||
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); | ||
frame.setBounds(20, 30, 300, 100); | ||
frame.setLayout(null); | ||
|
||
JPanel panel = new JPanel(); | ||
panel.setBackground(new Color(150, 75, 0)); | ||
panel.setOpaque(true); | ||
|
||
frame.setContentPane(panel); | ||
frame.setVisible(true); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
# SWING | ||
Pada materi ini berisikan tentang apa-apa saja yang ada di Swing Java ini. Ngomgong-ngomong sebelum terjun ke programnya secara langsung, apa sih **Java Swing** ini?? | ||
|
||
Swing adalah sebuah GUI Toolkit dalam Java. Toolkit ini adalah bentuk _standard_ dari Java sehingga tidak perlu melakukan penambahan library lagi kalau ingin menggunakan GUI Toolkit ini. Dibandingkan dengan Toolkit lain, Swing mempunyai lebih banyak komponen pendukung untuk membangun sebuah aplikasi yang lengkap untuk keperluan desktop. Swing ini 100 % ditulis dengan bahasa pemrograman Java tanpa adanya sebuah wrapper untuk memanggil rutin-rutin native code via JNI (Java Native Interface). Seluruh komponen yang terdapat pada Swing, semuanya murni digambar sendiri menggunakan API (Application Programming Interface) 2D untuk memanggil rutin-rutin dasar penggambaran komponen-nya. Dengan model seperti ini, memungkinkan sekali aplikasi yang dibangun menggunakan Swing tampak sama persis di berbagai macam Sistem Operasi.Swing juga mempunyai kemampuan untuk berganti-ganti tampilan menggunakan LAF (Look And Feel) atau themes Sayang-nya, jika kita menginginkan tampilan GUI yang native (tampilan-nya sama seperti aplikasi-aplikasi lain pada sistem operasi target) Swing seperti-nya masih terasa kurang smooth terutama dukungan pada font rendering-nya. | ||
|
||
### Komponen-Komponen Swing | ||
1. JPanel | ||
JPanel adalah salah satu komponen swing pertama dan dasar dikarenakan JPanel ini lah adalah hasil GUI yang nanti akan dikeluarkan. JPanel memiliki komponen-komponen cabang antara lain JLabel, JButton, JList dan lain-lain yanng berada di bawah ini. | ||
|
||
2. JLabel | ||
JLabel adalah JLabel merupakan komponen yang digunakan untuk menampilkan teks yang pendek. JLabel juga digunakan untuk menampilkan icon (gambar berukuran kecil) atau menampilkan icon dan teks. JLabel merupakan sub kelas dari JFrame | ||
|
||
3. JButton | ||
JButton berguna untuk membuat objek tombol yg dapat dilengkapi dengan judul tombol maupun ikon. | ||
|
||
4. JCheckbox | ||
JCheckBox digunakan untuk memilih salah satu pilihan di antara dua kemungkinan. | ||
|
||
5. JRadioButton | ||
JRadioButton digunakan untuk menampilkan pilihan yang dimana terdapat ButtonGroup digunakan untuk membuat pemakai hanya bisa memilih salah satu dari sejumlah tombol radio. |