一直想知道java.awt内是如何与机器本身实现功能的,查看了下awt里的源码。首先查看了颜色color类,发现该类实际上的功能是定义了一个int对象value,然后给1600万种颜色编分别给个value值,也就是说color类就是一个存有颜色编号值得类,本身并不实现机器的颜色切换功能。
然后我又看了下各种容器的代码,结果从swing的JFrame看到awt里最基的component,基本上所有组件的结构基本上都是定义了如color类的成员变量,初始化也仅仅是更改这些成员变量的值,也就是说初始化的容器只是给容器内的颜色啊,布局管理啊等基本结构设值,而这些基本结构类也只是包含了一些数值。那么,当我们将这些数值编译完成,机器读取的时候是如何实现图形化的呢。
![](https://profile-avatar.csdnimg.cn/default.jpg!4)
Java.awt类是如何实现图形化的呢?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
4条回答 默认 最新
- threenewbee 2015-09-02 08:44关注
底层是操作系统的绘图库实现绘图的,再底层是显示卡的驱动。
int的value其实是一个argb值,我们知道一个int有32bit,我们分为4个字节,每个字节表示一个颜色分量(红、绿、蓝、透明度),用0~255表示这个分量的浓度。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 metadata提取的PDF元数据,如何转换为一个Excel
- ¥15 关于arduino编程toCharArray()函数的使用
- ¥100 vc++混合CEF采用CLR方式编译报错
- ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
- ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
- ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
- ¥50 如何openEuler 22.03上安装配置drbd
- ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
- ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
- ¥15 Windows11, backspace, enter, space键失灵