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

时间: 2024-11-19 22:27:45

关于Frame加背景的那点事?的相关文章

解决:Map的area属性标签鼠标Hover可以给area加背景

css的area标签是不支持hover的,只有a标签才支持.li标签在IE浏览器下才支持,所以采用jquery的mouseenter和mouseleave事件完成.首先讲jQuery对应的事件:1.mouseenter事件 当鼠标指针穿过元素时,会发生 mouseenter 事件.该事件大多数时候会与mouseleave 事件一起使用. 与 mouseover 事件不同,只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件.如果鼠标指针穿过任何子元素,同样会触发 mouseover

ExtJs4学习(十三)如何给文件上传按钮加背景图片

我们日常看到的上传按钮都是这样的 当然browse是默认的,我们可以去改变它,比如替换成"上传",配置为buttonText: '上传', 如果我们想给按钮添加背景图片呢,你可能注意到了这个配置 buttonConfig { xtype: 'filefield', emptyText: 'Select an image', fieldLabel: 'Photo', name: 'photo-path', buttonText: '', buttonConfig: { iconCls:

IE5中用JavaScript跨frame加option问题

[译者注]在本文中,作者提出了使用k-means算法来对图像进行色彩还原,介绍算法的步骤,同时应用在图像上,通过对比还原前后的图像,来证明k-means算法的有效性.以下为译文: k-means是机器学习中最著名.最广泛使用的算法之一.在这篇文章中,将使用k-means算法来减少图像上的颜色(但不减少像素),从而也减少了图像的大小.在这个领域不需要任何基础知识,因为可执行应用程序文件(大小为150MB,这是由于长时间的Spark依赖)已经提供了友好的用户界面.所以你可以很容易地用不同的图像来做实

JAVA实现二维码生成加背景图

pom.xml依赖 <!-- 二维码生成 -->         <!-- https://mvnrepository.com/artifact/com.google.zxing/core -->         <dependency>             <groupId>com.google.zxing</groupId>             <artifactId>core</artifactId>   

css加背景图代码

CSS让背景平铺的代码 repeat-x ,也就是沿着X方向重复下去(横向平铺): repeat-y (纵向平铺) {   background-image: url('#.jpg);  background-repeat: repeat-x  } 网页默认全屏平铺代码 来源body{background:url(#.gif)} 这样的代码代码可以应用于淘宝店的装修

Java--添加背景图片

package com.welcome; import java.awt.BorderLayout; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridLayout; import java.awt.Image; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java

qrcode加背景图

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>我的推广</title> </head> <body> <input id="code-url" type="hidden" value="http://www.baidu.co

Ext.js给form加背景图片

{ iconCls: 'zyl_icons_showdetail', tooltip: '查看', handler: function(gridView, rowIndex, colIndex) { var rowInfo = gridView.up('grid').getStore().getAt(rowIndex); if (Ext.isEmpty(rowInfo.get('adFlag'))) { rowInfo.set('adFlag', 0); } var viewWindow = m

【前端开发】提高网站加载速度

尊重原创:但是出处不明...... YSlow是yahoo美国开发的一个页面评分插件,非常的棒,从中我们可以看出我们页面上的很多不足,并且可以知道我们改怎么却改进和优化. 仔细研究了下YSlow跌评分规则主要有12条: 1. Make fewer HTTP requests 尽可能少的http请求..我们有141个请求(其中15个JS请求,3个CSS请求,47个CSS background images请求),多的可怕.思考了下,为什么把这个三种请求过多列为对页面加载的重要不利因素呢,而过多的I