【发布时间】:2012-06-19 23:54:45
【问题描述】:
我有一个 JPanel,里面有一个按钮。按钮的位置无关紧要。
paint(Graphics g) 代码是:
如果我想用黑色矩形填充面板的整个空间,同时面板中还有按钮,填充的矩形将简单地覆盖所有内容。所以不是有一个按钮,然后按钮周围都是黑色的,整个面板都是黑色的。
有什么办法可以修改面板,或者绘画过程,让组件绘制在自定义绘画之上?
我曾尝试将super.paint(g) 放在绘画的末尾,例如:
... 认为它会先进行自定义绘画,然后简单地将组件放在上面。但是,如果这样做,自定义绘画将完全消失,只显示按钮。也就是说,只有一个按钮和一个白色(默认)背景,而不是黑色矩形。
有什么想法吗?
谢谢!
编辑: 我想澄清一下黑色矩形是一个例子。我知道我可以简单地设置背景颜色,但我试图最终能够做任何我想做的自定义绘画。
【问题讨论】:
-
再说一次,你想达到什么目的?一个按钮,因为它被黑色覆盖,所以看不到?如果有,目的是什么?
-
我正在尝试制作一个具有自定义绘画但也使用基本 Swing 组件的菜单。我意识到我可以做 setBackground(..) 但它不允许我自定义绘画。而且,据我所知,如果菜单是纯色且无法与之交互,它们就不是很有趣。
标签: java swing components jpanel paint