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上的就行了),问题就解决了!

  • 相关阅读:
    [Java IO]04_系统标准IO
    [Java IO]03_字符流
    [Java IO]02_字节流
    [Java IO]01_File类和RandomAccessFile类
    [Java 安全]加密算法
    [Java 安全]消息摘要与数字签名
    Java正则速成秘籍(三)之见招拆招篇
    Java正则速成秘籍(一)之招式篇
    Java 枚举
    redis 系列13 集合对象
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/4960211.html
Copyright © 2011-2022 走看看