你的问题的简短答案是“不透明”是用英语定义为完全不透明的.因此,不透明组件是绘制整个矩形的组件,并且每个像素在任何程度上都不是半透明的.

但是,Swing组件不透明度API是错误设计的,因此经常被误用的API之一.

重要的是要知道,Opaque是Swing系统和特定组件之间的契约.如果它返回true,则组件保证非半透明地绘制其矩形区域的每个像素.该API应该是抽象的,以强制所有组件作者考虑. isOpaque API由Swing的绘画系统使用,以确定给定组件覆盖的区域是否必须为与其重叠的组件以及其背后的组件(包括组件的容器和祖先)进行绘制.如果一个组件返回true到这个API,则Swing系统可以优化绘图,以便在调用特定组件的paint方法之前不绘制该区域中的任何内容.

由于isOpaque的合同含义,API setOpaque不应该存在,因为事实上外部调用setOpaque是不正确的,因为外部事物不能知道该组件是否(甚至可以)荣誉它.相反,isOpaque应该被每个具体组件覆盖,以返回其实际上是否是实际上是不透明的,因为它是当前的属性.

由于setOpaque API确实存在,许多组件已经错误地实现了它(很可以理解)来驱动它们是否绘制其“背景”(例如JLabel和JPanel填充其背景颜色).这样做的结果是为API创建一个印象,认为该setOpaque驱动器是否应该绘制该背景,但不会.

另外,如果你想用一个半透明的背景画一个JLabel,你需要设置一个alpha值的背景颜色,并且做setOpaque(true),但实际上并不是不透明的 – 它是半透明的;它后面的组件仍然需要绘制,以使组件正常呈现.

Java 6的新Nimbus Look& amp;感觉.有关针对Nimbus提交的透明组件的许多错误报告(参见堆栈溢出问题Java Nimbus LAF with transparent text fields). Nimbus开发团队的回应是:

This is a problem [in] the orginal design of Swing and how it has been confusing for years. The issue is setOpaque(false) has had a side effect in [existing] LAFs which is that of hiding the background which is not really what it is [meant] for. It is [meant] to say that the component may have transparent parts and [Swing] should paint the parent component behind it.

所以,总而言之,你不应该使用setOpaque.如果你使用它,请记住,一些Look&感觉和一些组件可能会“令人惊讶”的事情.而且,最终实际上没有正确的答案.

setopaque java_setOpaque(真/假); Java的相关推荐

  1. 第六届省赛(软件类)真题----Java大学A组答案及解析

    第六届省赛(软件类)真题----Java大学A组答案及解析 熊怪吃核桃 星系炸弹 九数分三组 循环节长度 打印菱形 加法变乘法 牌型种数 移动距离 垒骰子 灾后重建 一.熊怪吃核桃 森林里有一只熊怪, ...

  2. 第六届省赛(软件类)真题----Java大学B组答案及解析

    第六届省赛(软件类)真题----Java大学B组答案及解析 三角形面积 立方变自身 三羊献瑞 循环节长度 九数组分数 加法变乘法 牌型种数 饮料换购 垒骰子 生命之树 一.三角形面积 如[图1]所示. ...

  3. 第六届省赛(软件类)真题----Java大学C组答案及解析

    第六届省赛(软件类)真题----Java大学C组答案及解析 隔行变色 立方尾 无穷分数 循环节长度 格子中输出 奇妙的数字 加法变乘法 移动距离 打印大X 垒骰子 一.隔行变色 Excel表的格子很多 ...

  4. 第五届省赛(软件类)真题----Java大学A组答案及解析

    第五届省赛(软件类)真题--Java大学A组答案及解析 子序列最大长度 莱布尼茨公式 n的n次幂 七对数字 勾股定理 九阶数独 矩阵射线 一.子序列最大长度 一个串的子串是指该串的一个连续的局部.如果 ...

  5. 第五届省赛(软件类)真题----Java大学B组答案及解析

    第五届省赛(软件类)真题--Java大学B组答案及解析 正则切分 调和级数 n的n次幂 七对数字 勾股定理 九阶数独 G将军 一.正则切分 java中提供了对正则表达式的支持. 有的时候,恰当地使用正 ...

  6. 第五届省赛(软件类)真题----Java大学C组答案及解析

    第五届省赛(软件类)真题--Java大学C组答案及解析 杨辉三角 调和级数 回文素数 过大年 位平方和 单位分数 n级台阶 一.杨辉三角 二项式的系数规律,我国数学家很早就发现了. 如[图1.png] ...

  7. 第十二届蓝桥杯 2021年省赛真题 (Java 大学B组) 第一场

    蓝桥杯 2021年省赛真题 (Java 大学B组 ) #A ASC #B 卡片 朴素解法 弯道超车 #C 直线 直线方程集合 分式消除误差 平面几何 #D 货物摆放 暴力搜索 缩放质因子 #E 路径 ...

  8. 第十二届蓝桥杯 2021年省赛真题 (Java 大学A组) 第一场

    蓝桥杯 2021年省赛真题 (Java 大学A组 ) #A 相乘 朴素解法 同余方程 #B 直线 直线方程集合 分式消除误差 平面几何 #C 货物摆放 暴力搜索 缩放质因子 #D 路径 搜索 单源最短 ...

  9. 第七届蓝桥杯大赛个人赛决赛(软件类)真题 Java语言B组 答案

    以下代码纯自想自打,如有误,请提出,如可简,请告之,谢谢大家了. 蓝桥杯辅助资料 真题下载 1 愤怒小鸟 X星球愤怒的小鸟喜欢撞火车! 一根平直的铁轨上两火车间相距 1000 米 两火车 (不妨称A和 ...

最新文章

  1. mysql 十万条 输出_MySQL一次性插入十万条数据
  2. [训练日志] 7月22-31日
  3. CSS样式----标记选择器
  4. RCNN 目标识别基本原理
  5. 关于移动端 触摸事件导致子元素不能绑定事件
  6. Spark学习笔记(7)---Spark SQL学习笔记
  7. 赛锐信息-AMS系列产品简介
  8. 显卡显存故障检测工具_为RTX30系显卡做准备,骨伽GEX750金牌全模组电源装机体验...
  9. 人之间的尊重是相互的_人与人之间,最长久的关系,不是友情,不是爱情,而是…… ( 好文 )...
  10. “约女生图书馆一起自习”总结
  11. json数据循环左侧三级导航菜单
  12. 在校大学生计算机等级考试可以在其他省考吗
  13. Android的启动流程
  14. Linux内存卡槽故障判断,内存插槽损坏的三种常见故障
  15. JS函数自定义弹窗;纯JS实现弹窗
  16. matlab memory 代数环,matlab/simulink中代数环的问题及解决措施
  17. Android 穿过点画平滑曲线
  18. 怎样最大程度获得谷歌精选摘要(featured snippets)
  19. win7 64位系统PSD缩略图补丁预览PSD Mystic Thumbs免费版
  20. Mybatis Plus与Mysql整合的入门教程

热门文章

  1. 2021ICPC网络预选赛 M题
  2. Vijos P1197 费解的开关
  3. 求义隆单片机c语言红外解码程序,吐槽义隆单片机,顺便送上超轻红外解码程序....
  4. [blockchain-042]eos 硅谷ecs docer编译 mongo存储
  5. 数据分析:AARRR模型
  6. html5光线传感器,HTML5设备传感器总结
  7. mac升级vue-cli
  8. react项目中引入的组件在src外从而报错
  9. 【小技巧】一招教你下载b站视频到本地
  10. 【Android开发】Android基本UI组件