java求助 添加背景图片 不显示

星奈丶 2016-01-14 01:00:42
public class Main {public static void main(String args[]){ JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300);
jf.setLocation(600,200);
jf.setVisible(true);


ImageIcon icon = new ImageIcon("04.png"); //图片
JLabel j=new JLabel(icon); //标签


j.setBounds(0, 0, jf.getWidth(), jf.getHeight());
JPanel jp=new JPanel(); //面板


jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());
jf.setContentPane(jp);
j.setOpaque(false);
jp.setOpaque(false);
jp.add(j,new Integer(Integer.MIN_VALUE));
}}
...全文
342 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
星奈丶 2016-01-15
  • 打赏
  • 举报
回复
引用 5 楼 Stluny 的回复:
[quote=引用 4 楼 wd284476221 的回复:] [quote=引用 3 楼 Stluny 的回复:] [quote=引用 2 楼 wd284476221 的回复:] [quote=引用 1 楼 Stluny 的回复:] jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了
修改完之后还是不能显示
public class Text {public static void main(String args[]){ 
	JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300); 
jf.setLocation(600,200); 
jf.setVisible(true); 
Icon icon = new ImageIcon("04.png"); //图片 
JLabel j=new JLabel(icon); //标签 
 j.setVisible(true);
 
j.setBounds(0, 0, jf.getWidth(), jf.getHeight()); 
JPanel jp= (JPanel) jf.getContentPane(); //面板 
 
 
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());  
//j.setOpaque(true); 
//jp.setOpaque(true); 
jp.add(j,BorderLayout.CENTER);
}
}
麻烦了[/quote] 你这个是图片路径没写对 我把你的代码在我这里跑是可以的 你把你的04.png放到D盘跟目录下 然后那icon的地方改下 Icon icon = new ImageIcon("D://04.png"); //图片 就好了 我不知道你的图片在哪里 你这么写是可以显示的 [/quote] 放到D盘以后确实可以了,多谢多谢 不过还有一个问题,我原来是把文件和源程序放到一起的,路径写成那样不可以吗?[/quote] 你要是把那个图片 放到和这个test类同包下 可以用这种方式 设置路径 下面这句一改 Icon icon = new ImageIcon(Text.Class.getResource("04.png")); [/quote] 成功了,多谢多谢
Stluny 2016-01-15
  • 打赏
  • 举报
回复
引用 4 楼 wd284476221 的回复:
[quote=引用 3 楼 Stluny 的回复:] [quote=引用 2 楼 wd284476221 的回复:] [quote=引用 1 楼 Stluny 的回复:] jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了
修改完之后还是不能显示
public class Text {public static void main(String args[]){ 
	JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300); 
jf.setLocation(600,200); 
jf.setVisible(true); 
Icon icon = new ImageIcon("04.png"); //图片 
JLabel j=new JLabel(icon); //标签 
 j.setVisible(true);
 
j.setBounds(0, 0, jf.getWidth(), jf.getHeight()); 
JPanel jp= (JPanel) jf.getContentPane(); //面板 
 
 
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());  
//j.setOpaque(true); 
//jp.setOpaque(true); 
jp.add(j,BorderLayout.CENTER);
}
}
麻烦了[/quote] 你这个是图片路径没写对 我把你的代码在我这里跑是可以的 你把你的04.png放到D盘跟目录下 然后那icon的地方改下 Icon icon = new ImageIcon("D://04.png"); //图片 就好了 我不知道你的图片在哪里 你这么写是可以显示的 [/quote] 放到D盘以后确实可以了,多谢多谢 不过还有一个问题,我原来是把文件和源程序放到一起的,路径写成那样不可以吗?[/quote] 你要是把那个图片 放到和这个test类同包下 可以用这种方式 设置路径 下面这句一改 Icon icon = new ImageIcon(Text.Class.getResource("04.png"));
星奈丶 2016-01-15
  • 打赏
  • 举报
回复
引用 3 楼 Stluny 的回复:
[quote=引用 2 楼 wd284476221 的回复:] [quote=引用 1 楼 Stluny 的回复:] jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了
修改完之后还是不能显示
public class Text {public static void main(String args[]){ 
	JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300); 
jf.setLocation(600,200); 
jf.setVisible(true); 
Icon icon = new ImageIcon("04.png"); //图片 
JLabel j=new JLabel(icon); //标签 
 j.setVisible(true);
 
j.setBounds(0, 0, jf.getWidth(), jf.getHeight()); 
JPanel jp= (JPanel) jf.getContentPane(); //面板 
 
 
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());  
//j.setOpaque(true); 
//jp.setOpaque(true); 
jp.add(j,BorderLayout.CENTER);
}
}
麻烦了[/quote] 你这个是图片路径没写对 我把你的代码在我这里跑是可以的 你把你的04.png放到D盘跟目录下 然后那icon的地方改下 Icon icon = new ImageIcon("D://04.png"); //图片 就好了 我不知道你的图片在哪里 你这么写是可以显示的 [/quote] 放到D盘以后确实可以了,多谢多谢 不过还有一个问题,我原来是把文件和源程序放到一起的,路径写成那样不可以吗?
Stluny 2016-01-15
  • 打赏
  • 举报
回复
引用 2 楼 wd284476221 的回复:
[quote=引用 1 楼 Stluny 的回复:] jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了
修改完之后还是不能显示
public class Text {public static void main(String args[]){ 
	JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300); 
jf.setLocation(600,200); 
jf.setVisible(true); 
Icon icon = new ImageIcon("04.png"); //图片 
JLabel j=new JLabel(icon); //标签 
 j.setVisible(true);
 
j.setBounds(0, 0, jf.getWidth(), jf.getHeight()); 
JPanel jp= (JPanel) jf.getContentPane(); //面板 
 
 
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());  
//j.setOpaque(true); 
//jp.setOpaque(true); 
jp.add(j,BorderLayout.CENTER);
}
}
麻烦了[/quote] 你这个是图片路径没写对 我把你的代码在我这里跑是可以的 你把你的04.png放到D盘跟目录下 然后那icon的地方改下 Icon icon = new ImageIcon("D://04.png"); //图片 就好了 我不知道你的图片在哪里 你这么写是可以显示的
星奈丶 2016-01-14
  • 打赏
  • 举报
回复
引用 1 楼 Stluny 的回复:
jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了
修改完之后还是不能显示
public class Text {public static void main(String args[]){ 
	JFrame jf=new JFrame(); //窗口 
jf.setSize(400,300); 
jf.setLocation(600,200); 
jf.setVisible(true); 
Icon icon = new ImageIcon("04.png"); //图片 
JLabel j=new JLabel(icon); //标签 
 j.setVisible(true);
 
j.setBounds(0, 0, jf.getWidth(), jf.getHeight()); 
JPanel jp= (JPanel) jf.getContentPane(); //面板 
 
 
jp.setBounds(0, 0, jf.getWidth(), jf.getHeight());  
//j.setOpaque(true); 
//jp.setOpaque(true); 
jp.add(j,BorderLayout.CENTER);
}
}
麻烦了
Stluny 2016-01-14
  • 打赏
  • 举报
回复
jp.add(j,new Integer(Integer.MIN_VALUE)); 这句话你改一下 jp.add(j,BorderLayout.Center); panel没有设置布局的话应该是borderlayout 添加的时候要设置添加到哪里 有五个参数 nouth south east west center 然后你这个panel不用new JPanel jp = jf.getContentPane(); 还有 lable 还要设置SetVisble(true) 设置可见 setOpaque(false) 这个是 设置控件透明的意思 所以这里要设置成true 这样应该就行了

50,528

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧