zoukankan      html  css  js  c++  java
  • 关于Frame加背景的那点事?

     最近新生问我一个问题,继承自Frame(可不是继承自JFrame)的框架怎样添加背景图片,

    真够坑的,当时还真懵了,废话少说直接上代码:

     

    import java.awt.*;

    import java.awt.event.*;

    import java.awt.image.*;

    import java.io.File;

    import java.io.IOException;

    import javax.imageio.ImageIO;

    import javax.swing.JFrame;

     

    public class myFrame extends Frame {

    public myFrame() {

    this.setBounds(300, 300, 1000, 800);

    // this.setBackground(Color.red);

    this.setVisible(true);

    }

    public void paint(Graphics g) {//重写paint方法

            super.paint(g);

            BufferedImage image;

            try {

                image = ImageIO.read(new File("/Users/feifei/Desktop/1.png"));//注意地址的形式,笔者是在Mac上写的

                g.drawImage(image, 0, 0, null);

            } catch (IOException e) {

                e.printStackTrace();

            }

        }

     

    }

    class m_method{

      public static void main(String[] args) {

        myFrame yFrame = new myFrame();

        yFrame.addWindowListener(new WindowAdapter() {

          public void windowClosing(WindowEvent e) {

            System.exit(0);

          }

        });

      }

    }

    能看的出来,解决的方案就是,重写paint方法(图片的地址是Mac上的地址,只需改成Windows上的就行了),问题就解决了!

  • 相关阅读:
    Android使用sqlliteOpenhelper更改数据库的存储路径放到SD卡上
    递归实现全排列(一)
    poj_1284_原根
    绝对让你理解Android中的Context
    Java Web---登录验证和字符编码过滤器
    ceph理论及部署配置实践
    ceph for openstack快速部署实施
    php set env
    基于本地iso 搭建的本地yum源 安装部署openldap
    ceph rpm foor rhel6
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/4960211.html
Copyright © 2011-2022 走看看