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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在swing里面设置背景图片???相关的知识,希望对你有一定的参考价值。

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

public class MainF extends JFrame
private static final long serialVersionUID = 3622587512418551469L;
private JPanel contentPane;
public static void main(String[] args)
EventQueue.invokeLater(new Runnable()
public void run()
try
MainF frame = new MainF();
frame.setVisible(true);
catch (Exception e)
e.printStackTrace();


);


public MainF()
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
Image image=new ImageIcon("/res/bg.jpg").getImage();
JPanel panel = new BackgroundPanel(image);
contentPane.add(panel);




其中, BackgroundPanel 是同一个包下面的另一个类:
import java.awt.*;
import javax.swing.JPanel;

public class BackgroundPanel extends JPanel

private static final long serialVersionUID = -6352788025440244338L;

private Image image = null;

public BackgroundPanel(Image image)
this.image = image;


public void paintComponent(Graphics g)
g.drawImage(image, 0, 0, this.getWidth(), this.getHeight(), this);



这个方法是我百度出来的,没有报错, 但是窗口没有任何图片。

这个方法可不可行,问题出在哪? 还有什么别的方法设置背景图片吗?

求一个能直接用的详细代码。

百度出的那个通过 jlabel 或 jpanel 设置背景图片的方法,没怎么搞懂,也试了下,没有成功。

你的代码是正确的,可能是你图片的位置没有放对。我本地试过了,你可以像下面这样做:


首先修改一行代码:/res改为res

Image image=new ImageIcon("res/bg.jpg").getImage(); 


图片放到:

参考技术A

我推荐你使用SwingX中提供的JXPanel容器。

JXPanel可以使用setBackgroundPainter方法将ImagePainter设置为图片背景

追问

这个swingx怎么用呢

是否可以在 Swing 上设置 TitledBorder 不透明?

【中文标题】是否可以在 Swing 上设置 TitledBorder 不透明?【英文标题】:Is it possible to set a TitledBorder opaque on Swing? 【发布时间】:2010-10-03 10:08:09 【问题描述】:

是否有可能在 Swing 上设置一个透明的 TitledBorder 以便背景图像发光?

【问题讨论】:

感谢您的提示,我对自己的想法感到困惑:) 【参考方案1】:

找到答案了。

使用方法

setOpaque(false) 

在底层面板上。

【讨论】:

【参考方案2】:

奇怪 - TitledBorder.isBorderOpaque() 应该返回 false,所以它应该已经工作了。也许问题只是您放置边框的组件没有在边框插图上绘制背景图像?

【讨论】:

以上是关于如何在swing里面设置背景图片???的主要内容,如果未能解决你的问题,请参考以下文章

Java swing 窗体如何设置背景图片?

Java Swing中怎样简单方便的设置背景图片

java中如何为JFrame设置背景图片,拜托给一个简单的实例。谢谢了。

如何利用NetBeans Swing颜色选择器控制按钮背景

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

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