Java实现一种简单风格的按钮


Java实现一种简单风格的按钮:

  1. package com.han;  
  2.   
  3. import java.awt.Color;  
  4. import java.awt.Container;  
  5. import java.awt.FlowLayout;  
  6. import java.awt.Graphics;  
  7.   
  8. import javax.swing.JButton;  
  9. import javax.swing.JFrame;  
  10. import javax.swing.plaf.metal.MetalButtonUI;  
  11. import javax.swing.AbstractButton;  
  12.   
  13.   
  14. /** 
  15.  * 实现一种简单风格的按钮 
  16.  * @author HAN 
  17.  * 
  18.  */  
  19. public class ButtonSimpleCustomized extends JFrame {  
  20.     /** 
  21.      *  
  22.      */  
  23.     private static final long serialVersionUID = 4369682587606626801L;  
  24.   
  25.     public ButtonSimpleCustomized() {  
  26.         Container container = getContentPane();  
  27.         container.setLayout(new FlowLayout());  
  28.         JButton buttonSimple = new JButton("buttonSimple");  
  29.         Color bgColor = container.getBackground();  
  30.         System.out.println(bgColor);  
  31.         int redBgColor = bgColor.getRed();  
  32.         int greenBgColor = bgColor.getGreen();  
  33.         int blueBgColor = bgColor.getBlue();  
  34.         System.out.println(redBgColor);  
  35.         System.out.println(greenBgColor);  
  36.         System.out.println(blueBgColor);  
  37.         Color colorNewOrganized = new Color(redBgColor, greenBgColor, blueBgColor);  
  38.         System.out.println(colorNewOrganized);  
  39.         System.out.println(Color.yellow);  
  40. //      buttonSimple.setBackground(Color.yellow);   
  41. //      buttonSimple.setBackground(bgColor);   
  42.         buttonSimple.setBackground(colorNewOrganized);  
  43.         buttonSimple.setBorderPainted(false);  
  44.         buttonSimple.setFocusPainted(false);  
  45.         MetalButtonUI ui = new MetalButtonUI() {  
  46.             protected void paintButtonPressed(Graphics g, AbstractButton b) {  
  47.                 if ( b.isContentAreaFilled() ) {  
  48. //                  Dimension size = b.getSize();   
  49.                     g.setColor(getSelectColor());  
  50. //                  g.fillRect(0, 0, size.width, size.height);   
  51.                 }  
  52.             }  
  53.         };  
  54.         buttonSimple.setUI(ui);  
  55.         container.add(buttonSimple);  
  56.     }  
  57.   
  58.     public static void main(String[] args) {  
  59.         ButtonSimpleCustomized frame = new ButtonSimpleCustomized();  
  60.         frame.setTitle("buttonSimple Test");  
  61.         frame.setVisible(true);  
  62.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
  63.         frame.setBounds(00300100);  
  64.     }  
  65.   
  66. }  

相关内容