java - JPanel说不透明是什么意思?

标签 java user-interface swing

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

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

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

预先感谢您的帮助

最佳答案

不透明在 Swing 中有非常特殊的含义 - 它意味着组件完全绘制其边界内的整个区域(参见 setOpaque javadoc)

主要用于判断是否需要重绘当前组件后面的组件。

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

如果您正在创建自己的 JComponent 并将 setOpaque 设置为 true 但不遵守契约(Contract)(即尽管声称不透明但您没有在边界内绘制整个区域)那么您可能会因为背景不透明而得到意想不到的结果重新绘制。

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

相关文章:

Java GridLayout 图像大小

java - 使用 sbt 测试 Guava 代码时出现 IncompatibleClassChangeError

java - 笔记本电脑触摸板编程

swift - 滑动UIView "Out of nowhere"

java - 动态改变JBouton的位置

java - GUI 不适用于自定义 AbstractTableModel。错误 "Unknown Source"

java - 如何使用 -add-modules 添加多个模块

Java servlet 返回 404 错误

asp.net webforms 和 jquery : How to save/restore jquery state between postbacks?

android - TimePickerDialog 自定义主题