码迷,mamicode.com
首页 > 其他好文 > 详细

JFrame背景

时间:2015-08-16 12:14:11      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:

1.引言

在了解了JFrame面板的相关知识后,我们可以选择在RootPane根面板或LayeredPane面板中设置背景图案。

2.方法

对于大小固定的窗口背景设置如下:

     //导入图案

     ImageIcon img = new ImageIcon("image url");   

     // 图片缩放为窗口大小

     Image image = img.getImage().getScaledInstance(frame.getWidth(), frame.getHeight(), Image.SCALE_FAST);

     //将缩放好的图片实例化

     ImageIcon newimg = new ImageIcon(image);

     //将图案放入标签(不能直接将image放入标签)

     JLabel imgLabel = new JLabel(newimg);

     //设置标签位置和大小(覆盖面板

     imgLabel.setBounds(0, 0,  img.getIconWidth(),  img.getIconHeight());

     //将标签添加到Layered面板或RootPane面板( LayeredPane也有若干层,这里放在最底层)

     frame.getLayeredPane().add( imgLabel, new Integer(Integer.MIN_VALUE));

     //将ContentPane设置为透明

    JPanel content=(JPanel) frame.getContentPane();

    content.setOpaque(false);

3.实例

import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class SetBack1 {
    JFrame frame = new JFrame("picture test");
    JLabel label=new JLabel();  
    public SetBack1(){
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 400);    
        //导入图片
        ImageIcon img = new ImageIcon("D:\\7.jpg");
        // 图片缩放为适合Frame大小
        Image image = img.getImage().getScaledInstance(frame.getWidth(), frame.getHeight(), Image.SCALE_FAST);
        //将缩放好的图片实例化
        ImageIcon newimg = new ImageIcon(image);
        //在标签中添加图片
        label.setIcon(newimg);
        //设置标签大小为全屏
        label.setBounds(0, 0, frame.getWidth(), frame.getHeight());        
        //LayeredPane也是分层的,这里将JLabel放置在了LayeredPane最底层
        frame.getLayeredPane().add( label, new Integer(Integer.MIN_VALUE));
        //将ContentPane透明化
        JPanel cp= (JPanel)  frame.getContentPane();            
        cp.setOpaque(false);
        frame.setVisible(true);
    }   
    public static void main(String[] args) {
        new SetBack1();
    }
}

效果如下:

技术分享

JFrame背景

标签:

原文地址:http://www.cnblogs.com/jfl-xx/p/4733940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!