能不能让SWING的组件透明??

kekan 2003-08-03 11:19:46
比如在一个JPanel上放了另一个JPanel,能不能让上面的JPanel透明从而显示出下面JPanel的背景来??
...全文
181 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
telenths 2003-08-04
  • 打赏
  • 举报
回复
你需要知道 setOpaque(boolean isOpaque) 这个函数
是在 JComponent 类中定义的
而 Swing 的大部分组件几乎都是由 JComponent 继承而来
所以 基本上所有的 Swing 组件都可以用 setOpaque(false) 来透明

滚动条也是一样的
jScrollPane1.getVerticalScrollBar().setOpaque(false);
kekan 2003-08-04
  • 打赏
  • 举报
回复
非常感谢telenths(_非法操作_) ,你的回答让我知其然且知其所以然。
telenths 2003-08-03
  • 打赏
  • 举报
回复
setOpaque(true)
kekan 2003-08-03
  • 打赏
  • 举报
回复
哦,那个就是指要修改类库来实现喽??
keyinwind 2003-08-03
  • 打赏
  • 举报
回复
那个条是ScrollBar,需要修改ScrollBarUI才可以做到地
kekan 2003-08-03
  • 打赏
  • 举报
回复
那能不能把JScrollPane那个拖动的条也变成透明的??
telenths 2003-08-03
  • 打赏
  • 举报
回复
是的 应该是 setOpaque(false) 一时手快写错了 呵呵
谢谢 rekcah_ph(陌生人) 指出

对于 JScrollPane
除了要 JScrollPane.setOpaque(false); 以外
还要 JScrollPane.getViewport().setOpaque(false);
kekan 2003-08-03
  • 打赏
  • 举报
回复
恩,这样是可以不让上面一个JPanel透明,但如果中间加了一个JScrollPane的话就不行了
rekcah_ph 2003-08-03
  • 打赏
  • 举报
回复
setOpaque(false)
Opaque是不透明的意思吧?

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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