Graphics的一个小问题

GALFORDD 2006-04-23 12:35:44
Graphics画东西的时候能不能别把组件的背景图给挡住?
一但画出来似乎什么都被挡住了,menubar的下拉菜单都会被遮住,
能不能把Graphics这个面设成透明之类的?
虽然这个问题比较傻,但请各位大虾一定要帮忙 小弟在此谢过了
...全文
131 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
GALFORDD 2006-04-24
  • 打赏
  • 举报
回复
多谢 King_Play(程序猎人)大虾帮助。 : )
程序獵人 2006-04-24
  • 打赏
  • 举报
回复
xxxx是因为忘记了paint的访问控制是啥了。呵呵……

另外,你说的遮住menubar的问题,查一些关于LayeredLayout的资料看看或许有帮助。
程序獵人 2006-04-24
  • 打赏
  • 举报
回复
我来回答你后面一个问题。

因为你写自己的paint()函数就会把原本Label的paint()函数给override(这个词的中文翻译太多了,直接用英文,有翻译成覆盖的)了。这样,他就不会执行原来Label的paint()函数了,所以,根本就没有绘制icon或者背景图片的操作被进行。

如果你希望先画出背景图片,那就这么做:
xxxx paint(Graphics g) {
super.paint(g);

// 你自己的绘图代码。
}

GALFORDD 2006-04-24
  • 打赏
  • 举报
回复
找到问题所在了,原来Canvas的graphics怎么画都会遮住重量级容器的menuBar。
换成Label就好了,呵呵。同时还解决了双缓冲的问题.看来Canvas并不太好用。

但第一个问题谁能解答一下,如果一个Label set了incon ,就会有一幅背景图。
然后在这个Label上用Graphics画东西,但一用paint就会先用底色把整个界面都刷干净了再画。
如何使画的东西直接画在背景图上,别把背景图给刷没了? 谢谢各位大虾
GALFORDD 2006-04-23
  • 打赏
  • 举报
回复
我是在JFrame里加了个Canvas,图是话在Canvas上的,但还是把JFrame的menubar给挡住了. 我想做个截图的东东,但graphics一初始化就一片白把背景画面给遮住了,难道非要把背景和框一起画到graphics里吗? 能不能把graphics初始化的颜色调成透明的?
oiibyl 2006-04-23
  • 打赏
  • 举报
回复
不要Menubar使用JFrame,画图又使用Frame,我在编计算器界面时,就遇到这样的问题

62,616

社区成员

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

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