java中怎样让panel完全透明,只显示上面的图片?

 我来答
童虎v撒加
推荐于2019-10-20 · TA获得超过4147个赞
知道答主
回答量:10
采纳率:0%
帮助的人:1404
展开全部

import javax.swing.* ;

public class baiduzhidao1 {

public static void main(String args[]){

ImageIcon img = new ImageIcon("1.jpg"); /*负责显示图像的JLable对象j1*/

JLabel jl = new JLabel(img);

JPanel j = new JPanel() ; /*在JFrame上add上面板j*/

JFrame jf = new JFrame() ;

jf.setContentPane(j) ;

j.add(jl) ; /*在面板j上add上JLable对象j1*/

JPanel jjj = new JPanel() ; /*创建一个透明的面板放在JLable对象j1上负责放控件,此例中放置了一个按钮*/

jl.add(jjj) ;

jjj.setSize(200, 100) ; /*这里注意要设置大小*/

jjj.setOpaque(false) ; /*将负责放置控件的面板设置成透明,详细请查API*/

jjj.add(new JButton("确定")) ; /*添加按钮*/

jf.setVisible(true) ;

jf.setSize(500, 300) ;

}

}

容器从顶层开始顺序如下: 

jf(JFrame对象实例) --> j (JPanel对象实例,无须设置透明) --> j1(JLable对象实例,负责显示图片)

--> jjj(JPanel对象实例,负责放置控件,需要设置成透明才不会让自身的底色覆盖了上层图片)

码海重生

2018-02-01 · 200%精心编写的技术文档,助你进阶系统架构
码海重生
采纳数:45 获赞数:113

向TA提问 私信TA
展开全部
import javax.swing.* ;
public class baiduzhidao1 {
public static void main(String args[]){

ImageIcon img = new ImageIcon("1.jpg"); /*负责显示图像的JLable对象j1*/
JLabel jl = new JLabel(img);

JPanel j = new JPanel() ; /*在JFrame上add上面板j*/
JFrame jf = new JFrame() ;
jf.setContentPane(j) ;

j.add(jl) ; /*在面板j上add上JLable对象j1*/

JPanel jjj = new JPanel() ; /*创建一个透明的面板放在JLable对象j1上负责放控件,此例中放置了一个按钮*/
jl.add(jjj) ;
jjj.setSize(200, 100) ; /*这里注意要设置大小*/
jjj.setOpaque(false) ; /*将负责放置控件的面板设置成透明,详细请查API*/
jjj.add(new JButton("确定")) ; /*添加按钮*/

jf.setVisible(true) ;
jf.setSize(500, 300) ;
}
}
容器从顶层开始顺序如下:
jf(JFrame对象实例) --> j (JPanel对象实例,无须设置透明) --> j1(JLable对象实例,负责显示图片)
--> jjj(JPanel对象实例,负责放置控件,需要设置成透明才不会让自身的底色覆盖了上层图片)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式