在Swing JPanel中说是不透明的,这是什么意思?

还有JPanel VS JComponent与不透明相比如何?

请尽可能简单地解释一下,因此我在GUI编程方面不是很有经验。

在此先感谢您的帮助

最佳答案

不透明在Swing中具有非常特殊的含义-这意味着该组件在其范围内完全绘制了整个区域(请参见setOpaque javadoc)
这主要用于确定是否有必要在当前组件后面重新绘制组件。

  • 如果isOpaque为true,则为
    不需要重新粉刷任何东西
    在组件后面(因为它将
    只是被覆盖),因此这样
    可以省略背景图,因为
    优化。
  • 如果isOpaque为假,则表明
    该组件正在实现一定的透明度
    效果-例如绘制一个在中间有一个半透明窗口的组件,或者绘制一个非矩形的组件

  • 如果您正在创建自己的JComponent并将setOpaque设置为true,但不遵守契约(Contract)规定(即,尽管声称自己是不透明的,但您并未在边界内绘制整个区域),由于未重绘背景,您可能会得到意想不到的结果。

    关于java - JPanel说不透明是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4416454/

    10-12 00:12
    查看更多