java中的swing设计界面时怎么加上背景图片。而不覆盖啥label等控件?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的swing设计界面时怎么加上背景图片。而不覆盖啥label等控件?相关的知识,希望对你有一定的参考价值。

通过以下方式设置下背景就可以了:

background = new ImageIcon("images/backImage.png");

backImage = new JLabel(background);

backImage.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight());

backPanel = (JPanel) this.getContentPane();

backPanel.setOpaque(false);

this.getLayeredPane().setLayout(null);

this.getLayeredPane().add(backImage, new Integer(Integer.MIN_VALUE));

backPanel.setLayout(new BorderLayout());

这样就可以把图片放在最下面了,效果图:

参考技术A mport java.awt.Container;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class Test extends JFrame public Test() setBak(); //调用背景方法 Container c = getContentPane(); //获取JFrame面板 JPanel jp = new JPanel(); //创建个JPanel jp.setOpaque(false); //把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了 c.add(jp); setSize(540, 450); setVisible(true); public void setBak() ((JPanel)this.getContentPane()).setOpaque(false); ImageIcon img = new ImageIcon("c://Sunset.jpg"); //添加图片 JLabel background = new JLabel(img);this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE)); background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight()); public static void main(String[] args) Test s = new Test(); s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 参考技术B mport java.awt.Container;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class Test extends JFrame

public Test()
setBak(); //调用背景方法
Container c = getContentPane(); //获取JFrame面板
JPanel jp = new JPanel(); //创建个JPanel
jp.setOpaque(false); //把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了
c.add(jp);
setSize(540, 450);
setVisible(true);

public void setBak()
((JPanel)this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon("c://Sunset.jpg"); //添加图片
JLabel background = new JLabel(img);this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());


public static void main(String[] args)
Test s = new Test();
s.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


追问

路径添加对了,我把有代码和放在同一包下的图片的路径写了进去。不显示。晕了

本回答被提问者采纳
参考技术C public class Test extends JFrame

public Test()
setBak(); //调用背景方法
Container c = getContentPane(); //获取JFrame面板
JPanel jp = new JPanel(); //创建个JPanel
jp.setOpaque(false); //把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了
c.add(jp);
setSize(540, 450);
setVisible(true);

public void setBak()
((JPanel)this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon("c://Sunset.jpg"); //添加图片
JLabel background = new JLabel(img);this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());

java swing 界面的中文乱码怎么解决

参考技术A 是不是源代码格式有问题,你把汉字转成unicode试试
new
jlabel("\u6807\u7b7e");

以上是关于java中的swing设计界面时怎么加上背景图片。而不覆盖啥label等控件?的主要内容,如果未能解决你的问题,请参考以下文章

java swing怎样开发出漂亮的界面

我想用javaswing 做出这样的界面,要怎么做

Java Swing 怎么自定义界面背景图片

如何在swing里面设置背景图片???

java swing 界面的中文乱码怎么解决

java swing 怎么实现换界面的效果