SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing).
Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan
komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi
lebih cantik kelihatannya. Pada Video Tutorial ini saya menjelaskan cara
memanipulasi tampilan dari mulai komponen sederhana seperti JButton,
JTextField, sampai komponen-komponen kompleks seperti JTable, JList dan
JTree. Salah satu contoh hasil dari teknik SwingMakeOver ini adalah,
aplikasi yang pernah saya buat, yaitu eMovieRental, eBookLibrary dan ePhoneBook.
Ada beberapa manipulasi Swing yang bisa kita lakukan agar tampilan aplikasi
desktop kita lebih menarik. Salah satu contoh komponen Swing adalah Panel.
Disini kita akan belajar apa-apa saja yang bisa kita lakukan pada sebuah Panel.
Jadi tidak hanya sebatas tampilan default saja yang kita mengerti pada sebuah
panel. Seperti tampilan warna granite yang tidak menarik, bentuk kotak dan
tampilan yang itu-itu saja :D.
Nah, sekarang apa saja yang bisa kita lakukan terhadap panel ini??
Memberikan gambar pada panel ??
Memberikan effect gradient baik 2 warna, 3 warna, ataupun 4 warna ??
Membuat tampilan panel kita berukuran tetap dan tidak berubah-ubah ?? Tentu itu
semua bisa kita lakukan :D.
Oke, mari kita mulai dengan memberikan gambar pada panel. Hmm, kita coba
dengan membuat interface
sebagai berikut :
Nah, pada frame tersebut, kita hanya menggunakan satu panel, dimana panel
tersebut kita letakkan sebuah gambar. Untuk cara membuat nya adalah sebagai
berikut :
- Buat project nya terlebih dahulu
- Agar pengelompokannya enak, kita buat 2 package untuk menyimpan gambar dan panel2 yang kita gunakan. Misal package gambar dan widget.
3.
Sekarang buat PanelGambar.java di package widget.
4. Dan
copy paste gambar Tentang.jpg ke package gambar.
5. Pada PanelGambar.java, kalian bisa meng-copypaste source code ini langsung.
package
pelatihanitcke3.widget;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class PanelGambar extends JPanel {
Image img;
public PanelGambar() {
img = new
ImageIcon(getClass().getResource("/pelatihanitcke3/gambar/Tentang.jpg")).getImage();
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g.create();
gd.drawImage(img, 0, 0, getWidth(), getHeight(), this);
gd.dispose();
}
}
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class PanelGambar extends JPanel {
Image img;
public PanelGambar() {
img = new
ImageIcon(getClass().getResource("/pelatihanitcke3/gambar/Tentang.jpg")).getImage();
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g.create();
gd.drawImage(img, 0, 0, getWidth(), getHeight(), this);
gd.dispose();
}
}
Untuk
algoritma nya, yaitu pertama kita mengambil gambar dengan dengan class
ImageIcon dan kita masukkan value nya ke class Image. Kemudian kita
inisialisasi methode paintComponet dimana untuk memanggil methode drawImage,
kita harus membuat objek terlebih dahulu dari class Graphics2D yang di
inisialisasi dari methode create() pada class Graphics. Nah, objek dari class
Image yang berisi gambar yang kita panggil, kita letakkan di parameter methode
drawImage seperti diatas, dan kita set ukurannya agar menyesuaikan dengan
menggunakan memanggilnya dari methode getWidth() dan methode getHeight().
Terakhir, panggil methode dispose() nya.
Setelah itu, compile dulu PanelGambar.java, kemudian klik tombol Clean and Build
Selamat Mencoba :)
SwingMakeOver merupakan teknik memanipulasi tampilan
User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan
penggambaran agar tampilan komponen-komponen Java Swing seperti TextField,
Button dan lain-lain menjadi lebih cantik kelihatannya.
- Kelebihan Swing x
Swing x menawarkan fitur-fitur extra yang tidak
ditemui swing secara siap jadi. Sebagai contoh, ada yang disebut sebagai
haghlighter untuk memberi highlight (bisa berupa warna background berbeda dan
sebagainya) pada sel tertentu pada JxTable, JxList, JxTree dan sebagainya.
Komponen yang diawali Jx kebanyakan adalah turunan dari komponen swing
standart, misalnya Jxtable adalah turunan dari JTable. Demikian juga JxComboBox
adalah turunan dari JComboBox. JxComboBox sudah mendukung fitur highlight
dengan adanya fungsi add highlighter(). Jika ingin menampilkan nilai dibawah 50
dengan background merah, di JxComboBox kita dapat menggunakan color
Highlighter.