在Swing中JPanel说不透明,是什么意思?
还有 JPanel VS JComponent 与不透明的比较如何?
请尽可能简单地解释一下,因此我在 GUI 编程方面不是很有经验。
预先感谢您的帮助
最佳答案
不透明在 Swing 中有非常特殊的含义 - 它意味着组件完全绘制其边界内的整个区域(参见 setOpaque javadoc)
主要用于判断是否需要重绘当前组件后面的组件。
- 如果 isOpaque 为真,则 不需要重新粉刷任何东西 在组件后面(因为它会 只是被覆盖),因此这样 背景图可以省略为 一个优化。
- 如果 isOpaque 为假,则表示 该组件正在实现一些透明度 效果 - 例如绘制中间有半透明窗口的组件,或绘制非矩形组件
如果您正在创建自己的 JComponent 并将 setOpaque 设置为 true 但不遵守契约(Contract)(即尽管声称不透明但您没有在边界内绘制整个区域)那么您可能会因为背景不透明而得到意想不到的结果重新绘制。
关于java - JPanel说不透明是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4416454/