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
0 Responses to Mempercantik Java dengan Swing Make Over | Button
Posting Komentar