歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java實現一種簡單風格的按鈕

Java實現一種簡單風格的按鈕

日期:2017/3/1 10:16:08   编辑:Linux編程

Java實現一種簡單風格的按鈕:

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