New Post

[Java] [Swing] [Netbeans] [ Custom Palette ] jButton Flat UI


Buat class baru sebagai contoh jButtonFlatUI.java,input source code berikut :

  1.    
  2. import java.awt.Color;  
  3. import java.awt.Font;  
  4. import java.awt.Graphics;  
  5. import java.awt.Graphics2D;  
  6. import java.awt.RenderingHints;  
  7. import java.awt.Shape;  
  8. import java.awt.event.MouseAdapter;  
  9. import java.awt.event.MouseEvent;  
  10. import java.awt.geom.RoundRectangle2D;  
  11. import javax.swing.JButton;  
  12.   
  13. /** 
  14.  * 
  15.  * @author Anerfinity 
  16.  */  
  17. public class jButtonFlatUI extends JButton {  
  18.   
  19.     private Color MouseHover = new Color(25511199);  
  20.     private Color MousePress = new Color(36168110);  
  21.     private Color WarnaBackground = new Color(255510);  
  22.     private boolean enter, press;  
  23.   
  24.     public boolean isEnter() {  
  25.         return enter;  
  26.     }  
  27.   
  28.     public void setEnter(boolean enter) {  
  29.         this.enter = enter;  
  30.         repaint();  
  31.     }  
  32.   
  33.     public boolean isPress() {  
  34.         return press;  
  35.     }  
  36.   
  37.     public void setPress(boolean press) {  
  38.         this.press = press;  
  39.         repaint();  
  40.     }  
  41.   
  42.     public jButtonFlatUI() {  
  43.         setOpaque(false);  
  44.         setBorderPainted(false);  
  45.         setFocusPainted(false);  
  46.         setContentAreaFilled(false);  
  47.         setForeground(Color.white);  
  48.         setFont(getFont().deriveFont(Font.PLAIN));  
  49.         addMouseListener(new MouseAdapter() {  
  50.   
  51.             @Override  
  52.             public void mouseEntered(MouseEvent e) {  
  53.                 super.mouseEntered(e);  
  54.                 setEnter(true);  
  55.             }  
  56.   
  57.             @Override  
  58.             public void mouseExited(MouseEvent e) {  
  59.                 super.mouseExited(e);  
  60.                 setEnter(false);  
  61.             }  
  62.   
  63.             @Override  
  64.             public void mousePressed(MouseEvent e) {  
  65.                 super.mousePressed(e);  
  66.                 setPress(true);  
  67.             }  
  68.   
  69.             @Override  
  70.             public void mouseReleased(MouseEvent e) {  
  71.                 super.mouseReleased(e);  
  72.                 setPress(false);  
  73.             }  
  74.         });  
  75.     }  
  76.   
  77.     @Override  
  78.     protected void paintComponent(Graphics g) {  
  79.         Graphics2D gd = (Graphics2D) g.create();  
  80.         Color warna = WarnaBackground;  
  81.         Shape shape = new RoundRectangle2D.Double(00, getWidth(), getHeight(), 1010);  
  82.         if (isEnter()) {  
  83.             warna = MouseHover;  
  84.             if (isPress()) {  
  85.                 warna = MousePress;  
  86.             }  
  87.         }  
  88.         gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);  
  89.         gd.setColor(warna);  
  90.         gd.fill(shape);  
  91.         gd.dispose();  
  92.         super.paintComponent(g);  
  93.     }  
  94.   
  95.     public Color getWarnaBackground() {  
  96.         return this.WarnaBackground;  
  97.     }  
  98.   
  99.     public void setWarnaBackground(Color bgColor) {  
  100.         this.WarnaBackground = bgColor;  
  101.     }  
  102.   
  103. //Warna mouse hover Button  
  104.     public Color getMouseHover() {  
  105.         return this.MouseHover;  
  106.     }  
  107.   
  108.     public void setMouseHover(Color mousehover) {  
  109.         this.MouseHover = mousehover;  
  110.     }  
  111.   
  112. //Warna mouse press Button  
  113.     public Color getMousePress() {  
  114.         return this.MousePress;  
  115.     }  
  116.   
  117.     public void setMousePress(Color mousepress) {  
  118.         this.MousePress = mousepress;  
  119.     }  
  120. }  

Clean and build project, lalu drag jButtonFlatUI.java kedalam jFrame

No comments