51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 2396|回复: 0

[转贴] JAVA GUI 开发---水晶图片按钮

[复制链接]
  • TA的每日心情
    无聊
    昨天 09:28
  • 签到天数: 385 天

    连续签到: 4 天

    [LV.9]测试副司令

    发表于 2018-12-29 16:56:29 | 显示全部楼层 |阅读模式

    JAVA GUI开发中,一个小小的简单的图片按钮,原来如此简单。

    说明:

    • 1、图片要与按钮设置的大小一样。
    • 2、要水晶效果,要用水晶图片。

    源代码如下:

    1. import java.awt.Dimension;
    2. import java.awt.FlowLayout;
    3. import java.awt.Graphics;

    4. import javax.swing.ImageIcon;
    5. import javax.swing.JButton;
    6. import javax.swing.JFrame;
    7. import javax.swing.JPanel;

    8. /**
    9. *
    10. * @author XXX
    11. *
    12. */
    13. public class MainJFrame {
    14.         private JButton jbutton;
    15.         private JFrame jframe;
    16.         private JPanel jpanel;
    17.        
    18.         public MainJFrame(){
    19.                 jframe = new JFrame();
    20.                 jbutton = new JButton(){
    21.                         private static final long serialVersionUID = 32323L;
    22.                         @Override
    23.                         protected void paintComponent(Graphics g) {
    24.                                 super.paintComponent(g);
    25.                                 ImageIcon img = new ImageIcon(MainJFrame.class.getResource("\\img\\8_3.jpg"));
    26.                                 img.paintIcon(this, g, 0, 0);
    27.                         }
    28.                 };
    29.                
    30.                 jpanel = new JPanel();
    31.                 init();
    32.         }
    33.        
    34.         private void init(){
    35.                 jframe.setTitle("图片按钮测试");
    36.                 jframe.add(jpanel);
    37.                 jpanel.setLayout(new FlowLayout());
    38.                 jbutton.setOpaque(true);
    39.                 jbutton.setBorderPainted(true);
    40.                 jbutton.setPreferredSize(new Dimension(154, 154));
    41.                 jpanel.add(jbutton);
    42.         }
    43.        
    44.         public void showMe(){
    45.                 jframe.setSize(300, 200);
    46.                 jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    47.                 jframe.setVisible(true);
    48.         }
    49.        
    50.         public static void main(String[] args) {
    51.                 new MainJFrame().showMe();
    52.         }
    53. }
    复制代码


    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 17:08 , Processed in 0.065419 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表