首页 > 其他 > 详细

GUI(自定义背景图片)

时间:2016-05-31 14:04:42      阅读:139      评论:0      收藏:0      [点我收藏+]

如果组件中没有setIcon(...);这个方法,这是有需要给组件设置背景图片,这时就可以自定义绘制背景图片

/**
 * 
 */
package com.niit.javagui;

import java.awt.Graphics;
import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
 * @author: Annie
 * @date:2016年5月31日
 * @description:
 */
public class JPanelBackgroundDemo extends JFrame{

    MyPanel panel;
    JButton bnt;
    
    public JPanelBackgroundDemo() {
        setVisible(true);
        setSize(400,400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        panel = new MyPanel(new ImageIcon("./src/picture/pic12.jpg").getImage());
        setLayout(null);//不使用任何布局
        panel.setBounds(0,0,200,200);
        
        bnt = new JButton("测试按钮");
        panel.add(bnt);
        
        getContentPane().add(panel);
    }
    public static void main(String[] args) {
        new JPanelBackgroundDemo();

    }
    

}
/*自定义图片类*/
class MyPanel extends JPanel{
    //绘制容器
    Image img;
    public MyPanel(Image img) {
        this.img =img;
        //设置背景为透明,用意只是让别人能看到这张图片
    }
    @Override
    protected void paintComponent(Graphics g) {
        //获取父类原来的绘制组件的方法
        super.paintComponent(g);
        //调用父类的高度和宽度
        g.drawImage(img, 0, 0, this.getWidth(),this.getHeight(),this);
        
    }
}

效果图:

技术分享

GUI(自定义背景图片)

原文:http://www.cnblogs.com/wangmingxia/p/5545544.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!