如何在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中如何为JFrame设置背景图片,拜托给一个简单的实例。谢谢了。