微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Windows下JVM如何绘制button和其他控件?

虽然Java程序是独立于平台的,但JVM本身依赖于平台。 我有兴趣了解Java如何在屏幕上绘制应用程序GUI(button和文本)。

在Windows下,通常使用窗口(来自user32.dll)或矩形区域(来自gdi32.dll)创buildbutton等控件对象 ,稍后使用提供的user32 / gdi32文本绘图将文本绘制到相应的窗口/区域句柄function。

我试着运行一个简单的两个button的Java GUI应用程序,使用swing并挂钩了gdi32.dll和user32.dll的大部分创build区域/窗口和文本绘制函数,但到目前为止,似乎Java程序只是使用这些本机DLL仅绘制主窗框。

Java.exe是否使用其他dll在屏幕上绘制button和其他控件? 如果是这样,为什么在已经有可用的本地dll进行绘制的情况下呢?

Windowspath在带有清单的LoadLibrary中search

如何知道一个DLL是否使用ASLR?

文件中的偏移量LoadLibrary

为什么在Windows上调用MinGW编译函数(不加载库)时会得到UnsatisfiedLinkError?

如何从HTML5中使用本地代码(Windows)

Visual C ++不会创build该dll文件并停止在* .lib

检查Windows API级别的DLL

如何获得一个DLL加载过程句柄

使用Makefile创build一个在Windows XP(32位)和Windows 7(64位)上运行的DLL

我应该与我的应用程序重新分配msvcrt.dll?

在Windows上,Java2D认使用Direct3D渲染器绘制基元。 您可以通过指定-Dsun.java2d.d3d=false来禁用它。 在这种情况下,将使用GDI渲染器。

添加-Dsun.java2d.trace=log,verbose选项来跟踪在Swing应用程序中调用哪些Java2D基元。

从维基百科文章

与AWT组件不同,Swing组件不是由平台特定的代码实现的。 相反,它们完全是用Java编写的,因此是独立于平台的。 术语“轻量级”用于描述这样的元素。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐