java里怎样使背景图片适应窗口大小?

import java.awt.*;
import javax.swing.*;
public class Main_window_test extends JFrame {

JPanel jp1=null,jp2=null;
public static void main(String[] args)
{
new Main_window_test();
}
public Main_window_test()
{

ImageIcon image = new ImageIcon("image\\notebook.gif");//这是背景图片
JLabel imgLabel = new JLabel(image);//将背景图放在"标签"里。

imgLabel.setBounds(0,0,image.getIconWidth(), image.getIconHeight());//设置背景标签的位置
this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));//注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
Container cp=this.getContentPane();

((JPanel)cp).setOpaque(false); //注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。
int width=Toolkit.getDefaultToolkit().getScreenSize().width;
int height=Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation(width/2-200, height/2-150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400,300);
this.setResizable(false);
this.setVisible(true);
}
}
这是我窗口显示图片的代码,我的原始图片比较大,可所需的窗口界面挺小的,我要设置的这个窗口也是固定的不改变大小的,要怎么实现呢?谢谢!

import java.awt.*;
import javax.swing.*;

public class Main_window_test extends JFrame
{

JPanel jp1 = null, jp2 = null;

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

public Main_window_test()
{

Image image = new ImageIcon("image\\notebook.gif").getImage();// 这是背景图片
JLabel imgLabel = new aLabel(image);// 将背景图放在"标签"里。

this.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));// 注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。
Container cp = this.getContentPane();

((JPanel) cp).setOpaque(false); // 注意这里,将内容面板设为透明。这样LayeredPane面板中的背景才能显示出来。
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
this.setLocation(width / 2 - 200, height / 2 - 150);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(400, 300);
this.setResizable(false);
this.setVisible(true);

imgLabel.setBounds(0, 0, this.getWidth(),this.getHeight());// 设置背景标签的位置
}

//内部类
private class aLabel extends JLabel
{
private Image image;
public aLabel(Image image)
{
this.image = image;
}
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
int x = this.getWidth();
int y = this.getHeight();

g.drawImage(image, 0, 0, x, y, null);
}
}
}
要实现全部画出来,需要用到drawimage()方法,最好的办法就是重新写一个JLabel类
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-08-18
设置图片宽度等于窗口宽度
var width=$(window).width();
$("img").width(width);

java 中 ,怎样让在网上下的图片适应窗口大小? 新手求指教!!! 不要太...
public static void main(String[] args){ new Main_window_test();} public Main_window_test(){ Image image = new ImageIcon("image\\\\notebook.gif").getImage();\/\/ 这是背景图片 JLabel imgLabel = new aLabel(image);\/\/ 将背景图放在"标签"里。this.getLayeredPane().add(imgLabel, n...

JAVA图形界面,怎么让背景图片正好充满JFrame?
mainframe.setVisible(true);不管用哪种方法,由于窗口有最小大小限制(主要是要显示标题栏上的按钮,所以如果设置成不要按钮,就可以不用本限制,但Jframe不好办,需要用其他类型的窗口),所以如果图片过窄的话,两边会显示空白。

如何在JAVA 框架或面板中 加入背景图片 并使背景图片铺满窗口
1、希望界面背景设置图片:没有直接的方法调用方式,一般都是重载paint方法自己画一个背景上去。http:\/\/hi.baidu.com\/wangmei58\/blog\/item\/f324b9d8cc48853333fa1ccf.html 2、希望图片自动缩放:类- java.awt.Graphics2D abstract void scale(double sx, double sy)将当前 Graphics2D Transform 与...

JAVA-给Jpanel添加背景图片详解与匿名内部类
一:需要图片与代码在相同文件夹下,相对路径简单,如“模式选择.PNG”。二:使用绝对路径指定硬盘位置,例如“D:\\图片路径\\模式选择.PNG”。这种实现方式虽然增加了程序的可移植性,但在某些情况下可能降低程序的兼容性。在设计Jpanel的基本属性后,将其添加到顶级容器(如Jframe)中即可。实践一下,你...

java web中怎么让网页的背景图片拉伸开来
就是设值display:inner-block;然后设置宽和高,因为行级标签img没有宽和高的属性,必须设置为块的属性才可以设置

JAVA 写一个JPanel加上背景图片并和框架相同大小
JLabel();Icon icon=new ImageIcon("D:\\\\01.jpg"); \/\/在此直接创建对象 l.setIcon(icon);l.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());p.add(l,new Integer(Integer.MIN_VALUE));你可以修改以下两项,达到你的目地 icon.getIconWidth(),icon.getIconHeight()

java设置下背景图片
setBounds(0, 0, this.getWidth(),this.getHeight() );\/\/添加图片,设置图片大小为窗口的大小。this.getLayeredPane().add(la3,new Integer(Integer.MIN_VALUE)); \/\/将JLable加入到面板容器的最高层JPanel jp = (JPanel)this.getContentPane(); jp.setOpaque(false); \/\/设置面板容器为透明 ...

java怎么给窗体或者面板设置背景图片?
1利用标签组件来设置\\x0d\\x0a标签本来是一种最简单的组件,为什么可以将它设置成为一个窗体的背景呢?首先还是要了解框架JFrame中的层次结构。JFrame中的层次分布及相对关系是:最底层是JRootPane,第二层是JlayerPane,最上层就是ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在...

java 设置窗口背景图片还有设置按钮的字体格式例如大小等等··_百度...
super.printComponent(arg0);arg0.drawImage(img, x, y, width, height, observer);} };你也可以自己继承JPanel类,然后把图片、大小作为参数传递,然后构造这样的JPanel。然后把你放在frame上的东西都放在这个JPanel上。设置字体你的方法是正确的.setFont(new Font("微软雅黑", Font.LAYOUT_NO_...

intellijidea背景图片设置
首先打开IDEA软件,进入Java代码编辑主界面。2、点击编辑窗口上方的“文件”菜单项。3、在下拉子菜单中,点击“设置”选项。4、在弹出的“设置”窗口左侧,点击“外观”项。5、在右侧“UI选项”栏中,点击“背景图像”按钮。6、最后在“背景图像”窗口中,设置“图像”栏为指定图像的路径即可。

相似回答