Java中如何在背景图片上添加组件

import javax.swing.*;
public class IS extends JFrame {
IS(){
JPanel p=new JPanel();
JLabel l=new JLabel();
Icon icon=new ImageIcon("D:\\a.jpg"); //在此直接创建对象
l.setIcon(icon);
l.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());
p.add(l,new Integer(Integer.MIN_VALUE));
getContentPane().add(p);
pack(); //窗口适应组件大小
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //用来关闭窗口的
setVisible(true);
}
public static void main(String[] a){
new IS();
}
}
如何在上诉代码的背景上添加按钮,而不出现遮挡的情况,按钮一定要在背景图片的上面

你这只是添加图片,背景图片是用类Graphics实现的~你的代码写法错了,不能直接把图片拿过来用。。。
我简单的写了一个,你试试

public class Test2 extends JFrame{
Image image = Toolkit.getDefaultToolkit().getImage("D:\\a.jpg");
Test2(){
repaint();
JPanel p=new JPanel();
JButton jb = new JButton("确定");
p.add(jb);
add(p);
setSize(new Dimension(300,400));
setVisible(true);
}
/**
* 绘制背景图片
*/
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}

public static void main(String[] a){
new Test2();
}
}追问

我试了一下你先的方法,也不是太好,按钮显示不出来,到底怎么添加背景图片呢

追答

就这么写,按钮不出来,是因为我重绘的方法没写好,你改下,当时匆忙随便写的,
你鼠标放到中间的时候按钮就显示出来了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-05
学习学习

请在下面的JAVA代码中加入背景图片就OK!不能遮盖文本框和按钮!_百度知 ...
jp.setOpaque(false); \/\/把JPanel设置为透明 这样就不会遮住后面的背景 这样你就能在JPanel随意加组件了 ImageIcon img = new ImageIcon("c:\/\/Sunset.jpg"); \/\/添加图片 JLabel background = new JLabel(img);this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));backg...

JAVA界面设计怎么插入背景图片?
具体方法如下:利用标签组件来设置,具体代码如下:JPanelpnlMain=new JPanel(); \/\/创建面板pnlMain。getContentPane().add(pnlMain); \/\/将pnlMain设置为主面板。Iconi=new ImageIcon("背景.jpg"); \/*用源图片“背景.jpg”构造一个ImageIcon对象i,需要注意如果图片的路径使用的是相对路径,则图片文件...

java中怎样用JPanel设置窗体背景?可在该背景上添加按钮标签和一些控件...
使用SwingX中的JXPanel,其中方法 setBackackgroundPainter 使用 ImagePainter做参数可以设置背景图片。

java 设置窗口背景图片还有设置按钮的字体格式例如大小等等··_百度...
要加背景的话,可以先声明一个背景JPanel,在这个JPanel上面画上图片,可以像这样做 JPanel panel = new JPanel() { Override protected void printComponent(Graphics arg0) { \/\/ TODO Auto-generated method stub super.printComponent(arg0);arg0.drawImage(img, x, y, width, height, observer)...

java怎么在背景图上加一个按钮
你说application还是web啊 可以在JFrame里加一个重载过的JPanel class ImagePanel extends JPanel { Override public void paint(Graphics g) { super.paint(g);\/\/在这里把你那张图片画上去 } } 望采纳,谢谢。

java界面的背景图片怎么加,如果把图片加在JLabel上填满面板那怎么样才...
不知道你怎么加的。加背景图有很多种办法:- 加一个 JLabel,然后在 JLabel 上添加图片;- 直接重写 paint 方法,然后用 drawImage(Image src, int x, int y, int width, int height) 方法画上去。最大化的时候实际上是触发了窗口事件,添加窗口监听器,然后重写 windowResized() 方法,一旦...

java 窗体中添加背景图片的方法
\/\/设置窗口在屏幕中居中显示 double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();int x=(int)(width-300)\/2;int y=(int)(height-180)\/2;jf.setBounds(x,y,300,180);\/\/添加标签组件 GridLayout ...

java中的frame如何添加背景图片,窗口中加了面板,或者直接在面板中添加图...
public class Demo extends JFrame { JLabel jl =new JLabel(); public Demo() { jl =new JLabel(new ImageIcon("bg.jpg")); this.add(jl); this.setSize(300, 200); this.setVisible(true); this.setDefaultCloseOperation(EXIT_ON_CLOSE); } public static void main(String[] ...

java如何在已有的背景图片上贴上其他图片
你的背景图片可以在一个jpanel上,图片在jpane之上的jpane容器.别使用setcontentpane方法,使用.public class WelcomePanel extends JPanel { private ImageIcon welcomImageIcon = null;public WelcomePanel(){ URL url = this.getClass().getResource("\/images\/welcome.jpg");this.welcomImageIcon = new ...

java怎么给窗体或者面板设置背景图片?
1利用标签组件来设置\\x0d\\x0a标签本来是一种最简单的组件,为什么可以将它设置成为一个窗体的背景呢?首先还是要了解框架JFrame中的层次结构。JFrame中的层次分布及相对关系是:最底层是JRootPane,第二层是JlayerPane,最上层就是ContentPane,也正是我们常说的内容面板。所以一般我们拖放的控件就是在...

相似回答