Swing Make Over - BUTTON



Di dalam Java,teknikMakeOver ini sebenarnya hanya memanfaatkan method paintComponent(Graphics g) yang dimiliki oleh setiap JComponent. Contoh JButton yang sudah di-make over :





Pertama silakan buat java class, terserah kasih nama apa, kalo mau sama kasih nama ButtonMakeOver. Sourcenya :


  1. import java.awt.Color;
  2. import java.awt.GradientPaint;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.RenderingHints;
  6. import javax.swing.ButtonModel;
  7. import javax.swing.JButton;
  8. public class ButtonMakeOver extends JButton {
  9.     public ButtonMakeOver(String text) {
  10.    setText(text);
  11.         setBorderPainted(false);
  12.         setContentAreaFilled(false);
  13.         setFocusPainted(false);
  14.         setOpaque(false);
  15.         setForeground(Color.white);
  16.     }
  17.     @Override
  18.     protected void paintComponent(Graphics g) {
  19.         ButtonModel buttonModel = getModel();
  20.         Graphics2D gd = (Graphics2D) g.create();
  21.                 gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  22.                 gd.setPaint(new   GradientPaint(0,   0,   Color.white,   0, getHeight(), new Color(0, 0, 0, 0)));
  23.         if (buttonModel.isRollover()) {
  24.             gd.setPaint(new GradientPaint(0, 0, new Color(0, 0, 0, 0), 0, getHeight(), Color.white));
  25.             if (buttonModel.isPressed()) {
  26.                 gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), Color.white));
  27.                 setForeground(Color.BLACK);
  28.             } else {
  29.                 setForeground(Color.white);
  30.             }
  31.         }
  32.         gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);
  33.         gd.dispose();
  34.         super.paintComponent(g);
  35.     }
  36. }


Untuk melihat apakah JButtonnya sudah menjadi seperti gambar di atas silakan tulis source codeberikut (Test.java) :


  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. public class Test extends JFrame {
  6.     private ButtonMakeOver button =new ButtonMakeOver("My Button");
  7.     private JPanel panel;
  8.     public Test() {
  9.         panel = new JPanel(null);
  10.         panel.setBackground(Color.BLACK);
  11.         panel.add(button);
  12.         button.setBounds(20, 20, 120, 23);
  13.         setLayout(new BorderLayout());
  14.         add(panel, BorderLayout.CENTER);
  15.         setSize(200,100);
  16.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  17.     }
  18.     public static void main(String[] args) {
  19.         new Test().setVisible(true);
  20.     }
  21. }

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



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

APA ITU JAVA SWING..??

Java Swing merupakan sekumpulan kelas - kelas yang digunakan untuk mengembangkan aplikasi berbasis GUI (Graphical User Interface). Java Swing merupakan versi peningkatan dari AWT (Abstract Window Toolkit). Kelas - kelas komponen GUI dalam Java Swing biasa diawali dengan huruf J.

Kelebihan Java Swing :

  1. Dibundle dalam Java Development.
  2. Netral terhadap semua sistem operasi.
  3. Mudah untuk di kembangkan.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS