Coretanku

Tempatku Berbagi…

Tag Archives: Form

Gradient Form di Java

Setelah beberapa lama belajar java, ni lumayan ada hasilnya juga. ternyata java tu sangat menyenangkan, muantap bener dah.. hehehe 😀

O ya kali ini daku ingin berbagi gimana to caranya buat tampilan aplikasi yang kita buat backgroundnya bisa bergradasi ato gradient.. biar tampilannya lebih keren gitu. Ternyata kita bisa ngoprek-ngoprek tampilannya itu dengan method-method yang udah ada, biasanya sih pake paintComponent(Graphics g).. hehehe apaan tuh? daku juga ga tau.. 😀

langsung ja, gimana toh caranya,, sintak selengkapnya kayak gini ni..
pertama buat kelas untuk menampung panel yang kita jadikan sebagai gradasinya, jadi kita tidak membuatnya langsung di jframenya.. kemudian isi dengan kode kayak di bawah ini..

import java.awt.Color;
import java.awt.GradientPaint;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Shape;
import java.awt.geom.Rectangle2D;
import javax.swing.JPanel;

public class GradientPanel extends JPanel {

private Shape shape;
private GradientPaint paint, top, bottom;

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g.create();

shape = new Rectangle2D.Double(0, 0, getWidth(), getHeight());
Color gradientTop = new Color(246, 148, 27);
Color gradientBottom = new Color(254, 181, 82);

paint = new GradientPaint(0F, 0F, gradientTop, 0F, getHeight(), gradientBottom);
top = new GradientPaint(0, 0, new Color(1.0F, 1.0F, 1.0F, 0.5F),
0, 50, new Color(1.0F, 1.0F, 1.0F, 0.0F));
bottom = new GradientPaint(0, getHeight() / 2F, new Color(1.0F, 1.0F, 1.0F, 0.0F),
0, getHeight(), new Color(1.0F, 1.0F, 1.0F, 0.5F));

g2.setPaint(paint);
g2.fill(shape);
g2.setPaint(top);
g2.fill(shape);
g2.setPaint(bottom);
g2.fill(shape);
}
}

kalo udah tinggal buat jframenya yang menampung panel yang diinstance dari kelas yang barusan dibuat (GradientPanel) udah deh gitu aja, misalnya kaya gini ni.

import javax.swing.JFrame;

public class GradientForm extends JFrame{

private GradientPanel panel;
public GradientForm() {
super("Gradient Form");
panel = new GradientPanel();
add(panel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 300);
}

public static void main(String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new GradientForm().setVisible(true);
}
});
}
}

udah gitu aja, kemudian tinggal di kompile dan dijalankan kalo pake netbeans tinggal tekan Shift+F6 dan hasilnya kayak gini ni..

gimana mantep ga hasilnya.. O ya, ni daku sangat berterima kasih pada mas echo yang telah banyak berbagi ilmunya, muantap bener deh pokoknya…thanks mas..

udah sekian dulu, semoga bermanpaat..

Advertisements