关于背景我已经在csdn上查了一下,找到了一些解决的方案。
也找到了代码,但是这些代码为什么在我那里就不好用呢?
实在不知道为什么,那位大虾能指点一二。import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Background1 extends JFrame
{
public Background1()
{
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
BackPanel p = new BackPanel();
getContentPane().add(p);
JPanel conP = new JPanel();
conP.setOpaque(false);
p.setLayout(new BorderLayout());
p.add("Center", conP);
JLabel label = new JLabel("Background example");
label.setForeground(Color.white);
label.setOpaque(false);
conP.add(label);
setSize(1024,768);
setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
new Background1();
}
}
class BackPanel extends JPanel
{
protected void paintComponent(Graphics g)
{
// TODO Auto-generated method stub
super.paintComponent(g);
Image img = Toolkit.getDefaultToolkit().getImage("Sunset.jpg");
g.drawImage(img, 0,0,null,this);
}
}还有一种方法就是在layeredPane上面设置背景,然后将contentPane设置成透明的就可以了。这两种方法我都试验了。可是都没有效果。
请各位能不能告诉我到底问题可能出在什么地方呀。
也找到了代码,但是这些代码为什么在我那里就不好用呢?
实在不知道为什么,那位大虾能指点一二。import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Background1 extends JFrame
{
public Background1()
{
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
BackPanel p = new BackPanel();
getContentPane().add(p);
JPanel conP = new JPanel();
conP.setOpaque(false);
p.setLayout(new BorderLayout());
p.add("Center", conP);
JLabel label = new JLabel("Background example");
label.setForeground(Color.white);
label.setOpaque(false);
conP.add(label);
setSize(1024,768);
setVisible(true);
}
/**
* @param args
*/
public static void main(String[] args)
{
// TODO Auto-generated method stub
new Background1();
}
}
class BackPanel extends JPanel
{
protected void paintComponent(Graphics g)
{
// TODO Auto-generated method stub
super.paintComponent(g);
Image img = Toolkit.getDefaultToolkit().getImage("Sunset.jpg");
g.drawImage(img, 0,0,null,this);
}
}还有一种方法就是在layeredPane上面设置背景,然后将contentPane设置成透明的就可以了。这两种方法我都试验了。可是都没有效果。
请各位能不能告诉我到底问题可能出在什么地方呀。
img = Toolkit.getDefaultToolkit().getImage(getClass().getResource("Sunset.jpg")); //图片和类文件放在同一目录