Posted on 09.50

Mempercantik Java dengan Swing Make Over | Panel Gambar dan Panel Gradien

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 .
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 . 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 :
1. Buat project nya terlebih dahulu
2. 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();
}
}

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 Setelah build succesfull, langkah selanjutnya adalah tinggal memanggilnya ke Frame. Pada langkah ini tidak ada ketentuan khusus, kalian bisa memanggilnya di Frame buatan sendiri, atau Frame Drag and Drop yang disediakan Netbeans. Untuk Frame Drag and Drop, kalian tinggal menge-drag-nya dari package widget.
Nah, yang tadi kita sudah belajar bagaimana kita memasukkan gambar pada panel. Sekarang bagaimana caranya kita membuat Panel dengan effect Gradient seperti berikut :



Yaitu langkah-langkahnya sebagai berikut :
1. Buat PanelGradient.java di package widget


2. Masukkan source code berikut ke PanelGradient.java.
package pelatihanitcke3.widget;

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Paint;
import javax.swing.JPanel;

public class PanelGradient extends JPanel {

public PanelGradient() {
setOpaque(false);
}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g;
GradientPaint gp = new GradientPaint(0, 0, Color.green, 0, getHeight(),
Color.black);
Paint p = gd.getPaint();
gd.setPaint(gp);
gd.fillRect(0, 0, getWidth(), getHeight());
gd.setPaint(p);
}
}

Untuk algoritmanya, panggil methode setOpaque pada konstruktor, kemudian beri nilai false. Panggil methode paintComponent, kemudian inisialisasi dengan memanggil class GradientPaint dengan parameter konstruktornya yang dapat diset letak pewarnaan dan ketentuan warnanya. Ambil value Paint dari class Graphics2D dengan menggunakan methode getPaint, dan masukkan kembali ke Graphics2D setelah ditentukan nilai parameter dari methode fillRect.
3. Setelah itu, compile dulu PanelGradient.java, kemudian klik tombol Clean and Build lagi



4. Penerapan selanjutnya adalah sama.


source : http://itc.himatif.or.id
Read More

Posted on 09.28

Mempercantik Java dengan Swing Make Over | Button

Swing Make Over Pada Button :D


Di dalam Java,teknikMakeOver ini sebenarnya hanya memanfaatkan method paintComponent(Graphics g) yang dimiliki oleh setiap JComponent. Hampir setiap komponen bisa dimanipulasi bentuk dan warnanya. Setelah belajar make over JPanel, komponen lainnya yang akan dimanipulasi kali ini adalah JButton. Prinsip pembuatannya sama dengan make over pada JPanel, tinggal dikreasikan saja. Contoh JButton yang sudah di-make over :

Tidak semuanya akan dibahas dalam blog ini. Hanya JButton pertama saja yang akan dibahas, karena kodenya paling simple. Ok, pertama silakan buat java class, terserah kasih nama apa, kalo mau sama kasih nama ButtonMakeOver. Sourcenya :



import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.ButtonModel;
import javax.swing.JButton;
public class ButtonMakeOver extends JButton {
public ButtonMakeOver(String text) {
setText(text);
setBorderPainted(false);
setContentAreaFilled(false);
setFocusPainted(false);
setOpaque(false);
setForeground(Color.white);
}
@Override
protected void paintComponent(Graphics g) {
ButtonModel buttonModel = getModel();
Graphics2D gd = (Graphics2D) g.create();
gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), new Color(0, 0, 0, 0)));
if (buttonModel.isRollover()) {
gd.setPaint(new GradientPaint(0, 0, new Color(0, 0, 0, 0), 0, getHeight(), Color.white));
if (buttonModel.isPressed()) {
gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), Color.white));
setForeground(Color.BLACK);
} else {
setForeground(Color.white);
}
}
gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);
gd.dispose();
super.paintComponent(g);
}
}
Untuk melihat apakah JButtonnya sudah menjadi seperti gambar di atas silakan tulis source codeberikut (Test.java) :
import java.awt.BorderLayout;
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Test extends JFrame {
private ButtonMakeOver button =new ButtonMakeOver("My Button");
private JPanel panel;
public Test() {
panel = new JPanel(null);
panel.setBackground(Color.BLACK);
panel.add(button);
button.setBounds(20, 20, 120, 23);
setLayout(new BorderLayout());
add(panel, BorderLayout.CENTER);
setSize(200,100);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new Test().setVisible(true);
}
}

Setelah itu run project dengan menekan shift+F6, dan akan terlihat JButton seperti ini :





Read More

Posted on 09.13

Mempercantik Java dengan Swing Make Over | TextField

Swing Make Over pada TextField


Untuk JTextField lebih simple lagi source codenya, karena dia tidak memiliki model seperti JButton, namun tetap saja bisa dimanipulasi. Kalo JButton tadi dia memiliki interaksi dengan mouse, yaitu ketika mouse berada di atas JButton dan ketika mouse melakukan klik ke JButton. SedangkanJTextField tidak memiliki interaksi tersebut, walaupun tetap bisa dilakukan. Kita bikin yang simple saja, yang seperti ini :


import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
public class TextFieldMakeOver extends JTextField {
public TextFieldMakeOver() {
setOpaque(false);
setForeground(Color.WHITE);
setCaretColor(Color.WHITE);
setBorder(new EmptyBorder(6, 6, 6, 6));
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g.create();
gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
gd.setPaint(new GradientPaint(0, 0, new Color(255, 255, 255, 120), 0, getHeight(), new Color(0, 0, 0, 0)));
gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);
gd.setColor(Color.white);
gd.drawRoundRect(0, 0, getWidth() ­ 1, getHeight() ­ 1, 25, 25);
gd.dispose();
}
}
Kemudian ubah bagian ini di kelas Test.java
1
private ButtonMakeOver button = new ButtonMakeOver("My Button");
menjadi
1
2
private TextFieldMakeOver textField = new TextFieldMakeOver();
//selesai

source : http://itc.himatif.or.id Read More

Posted on 09.06

Swing Make Over pada Java

Java Swing ? apa itu ?

Java Swing merupakan sekumpulan kelas-kelas yang digunakan untuk mengembangkan aplikasi berbasis GUI (Graphical User Interface). Dan merupakan versi peningkatan dari AWT (Abstract Window Toolkit)

Kelebihan Java Swing

- di bundle dalam Java Development Kit
- Netral terhadap semua sistem operasi
- Mudah untuk dikembangkan

Read More