普陀总校  北桥教学点  颛桥教学点  泗泾教学点  | 设为首页 | 加入收藏 | 官方微信
内威培训
打造“培训+就业”一站式服务品牌!
  • Web前端工程师
  • 电脑艺术设计师
  • 网页设计制作员
  • Java软件开发工程师
banner1

首页>>学员天地

java中JFrame的背景色和背景图片的设置
编辑:eamol  阅读:1166次  发布:16-03-02

 

/*------------------------------------背景色的设置------------------------------------------*/

package com;

import java.awt.Color;

import javax.swing.JFrame;

public class JFrameBackGround extends JFrame {
 
 //设置背景色
  public void test() 
     { 
   //设置标题
    this.setTitle("背景框架");
     //设置框架长度和宽度
         this.setSize(400,300);
         //设置坐落位置
         this.setLocation(400,300); 
         //关闭按钮
         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
         //设置背景色
         this.setBackground(Color.blue); 
         this.getContentPane().setBackground(Color.red); 
         this.getContentPane().setVisible(false);//如果改为true那么就变成了红色。 
         this.setVisible(true); 
     }
 
 
 public static void main(String[] args) {
  //实例化对象
  JFrameBackGround jfbg=new JFrameBackGround();
  //背景色
//  jfbg.test();
  

 }

}

 

/*----------------------------------------背景图片的设置-----------------------------------------*/

方法一:

package com;
import java.awt.*;
import javax.swing.*;
import java.awt.Container;

public class Test1 extends JFrame {

 public Test1() {
  this.setTitle("背景图设置");
  this.setSize(300, 200);
  this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  // 这是背景图片
  ImageIcon img = new ImageIcon("images\\bg_pic.jpg");
  // 将背景图放在标签里。
  JLabel imgLabel = new JLabel(img);
  // 注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
  this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
  // 设置背景标签的位置
  imgLabel.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
  Container cp = this.getContentPane();
  cp.setLayout(new BorderLayout());
  // 创建按钮
  JButton but = new JButton("按钮");
  // 将按钮添加入窗口的内容面板
  cp.add(but, "North");
  // 注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。
  ((JPanel) cp).setOpaque(false);
  this.setSize(500, 300);
  this.setVisible(true);
 }

 public static void main(String[] args) {
     new Test1();
 }

}

 

方法二:

package com;

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

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

public class Test extends JFrame 

    //创建一个容器 
    Container ct; 
    //创建背景面板。 
    BackgroundPanel bgp; 
     
    //创建一个按钮,用来证明我们的确是创建了背景图片,而不是一张图片。 
    JButton jb;
   
    public static void main(String[] args) 
    { 
        new Test(); 
    } 
   
    public Test() 
    { 
        this.setSize(400,300); 
        this.setLocation(400,300); 
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
        //不采用任何布局方式。 
        ct=this.getContentPane(); 
        this.setLayout(null); 
         
        //在这里随便找一张照片既可以看到测试结果。 
        bgp=new BackgroundPanel((new ImageIcon("images\\bg_pic.jpg")).getImage()); 
        bgp.setBounds(0,0,400,300); 
        ct.add(bgp); 
     
        this.setVisible(true); 
    } 


class BackgroundPanel extends JPanel 

    Image im; 
    public BackgroundPanel(Image im) 
    { 
        this.im=im; 
        this.setOpaque(true); 
    } 
    //Draw the back ground. 
    public void paintComponent(Graphics g) 
    { 
        super.paintComponents(g); 
        g.drawImage(im,0,0,this.getWidth(),this.getHeight(),this); 
         
    } 

 

 



上一篇: java中Frame框架关闭按钮和框架居中的设置方法   下一篇: 没有了
网络大专、自考本科,学历轻松拿!
©2016-2020 万博体育APP 版权所有
普陀区武宁路1500号中楼2-3层(邮编:200062)
咨询:021-62434966  合作:021-13371929650  就业:021-62434966  传真:021-52662428  电邮:service@snetway.com
《中华人民共和国电信与信息服务业务》经营许可证沪ICP备15002602号