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

  • 相关阅读:
    Pytest(2)使用和调用方法
    lnmp一键搭建环境 running
    cd / 、cd~、cd .和cd..区别 running
    php算法之冒泡排序 running
    linux系统安装 running
    webpack之urlloader running
    Unix系列shell程序编写(下)
    目标文件格式分析工具: ar,nm,objdump,objcopy,readelf
    Unix系列shell程序编写(上)
    在vmware下安装的linux系统上添加eth1
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/4960211.html
Copyright © 2011-2022 走看看