新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\x0d\x0a\x0d\x0alabel = new JLabel(background); //background为ImageIcon\x0d\x0a// 把标签的大小位置设置为图片刚好填充整个面板 \x0d\x0alabel.setBounds(0, 0, this.getWidth(), this.getHeight());\x0d\x0a//添加图片到frame的第二层(把背景图片添加到分层窗格的最底层作为背景)\x0d\x0athis.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE));\x0d\x0a//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明\x0d\x0ajPanel=(JPanel)this.getContentPane();\x0d\x0a//设置透明\x0d\x0ajPanel.setOpaque(false);\x0d\x0a\x0d\x0a然后你上面那个JPanel p也设置成透明就可以了
公司主营业务:成都网站建设、成都网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出尼木免费做网站回馈大家。
JPanel jp=new JPanel()://定义面板并初始化
Icon iocn=new ImageIcon("C:/My Documents/tupian.jpg");//定义图片并初始化,写上图片的绝对路径
JLabel jl=new JLabel(icon)://把图片放在标签上
jp.add(jl);//往面板上添加标签注意:面板JPanel不能之间添加图片iocn,icon需要放在标签JLabel上,才能在JPanel上显示
import java.awt.event.*;
import javax.swing.*;
public class MainJFrame extends JFrame{
private ImageJPanel ip;
public MainJFrame() {
initial();
}
public void initial()
{
ip=new ImageJPanel();
this.setTitle("Demo");
this.setSize(400,300);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocationRelativeTo(this);
Container c=this.getContentPane();
c.setLayout(null);
ip.setBounds(0,0,this.getWidth(),this.getHeight());
c.add(ip);
this.setVisible(true);
}
public static void main(String[] args)
{
new MainJFrame();
}
}
class ImageJPanel extends JPanel
{
private ImageIcon ii;
public ImageJPanel()
{
//bk.jpg是指背景图片的名称 ii=new ImageIcon("bk.jpg");
}
//绘制背景图片 public void paintComponent(Graphics g)
{
super.paintComponent(g);
g.drawImage(ii.getImage(),0,0,this);
}
}
首先继承JPanel类,然后重写paintComponent方法
给你个例子,这是重写的方法
public void paintComponent(Graphics gs) {
Graphics2D g = (Graphics2D) gs;
super.paintComponent(g);
//画背景图片
g.drawImage(gameBG.getImage(), 0, 0, 800, 560, this);
}
记住,要先画图片,再画文字,否则会被覆盖
//一个小例子
//注意:
//当前目录下要有一个p.jpg文件
//压缩这个文件使它的大小尽量小,最好只有几十KB
//否则无法显示背景图片
import javax.swing.*;
import java.awt.*;
public class Demo extends JFrame {
public static void main(String[] args) {
new Demo();
}
public Demo() {
//加载图片
pic=Toolkit.getDefaultToolkit().getImage("p.jpg");
MediaTracker t=new MediaTracker(this);
t.addImage(pic,1);
try
{
t.waitForID(1);
}
catch(Exception e)
{
}
setSize(400,400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
//覆盖(重写)paint方法以在窗口中添加一张图片
public void paint(Graphics g) {
g.drawImage(pic,0,0,null);
}
Image pic;
}