JPanel的圆角平滑

问题描述

我制作了一个自定义Windows桌面应用程序,目前看来一切都不错,但我希望它尽可能地好。我在扩展坞中使用的JPanel具有圆角,但是当您靠近时,其边缘不会模糊或光滑。有一些简单的方法可以解决此问题吗?

这是底座的屏幕截图:

enter image description here

解决方法

不幸的是,这是有问题的,因为Swing并非为DPI高度感知的显示器而设计。

这里讨论了尝试使用hiDPI look and feel的方法,但是,只要在Windows上运行该应用程序,您就可以随时更改兼容性设置,因为Windows默认情况下会假定该应用程序支持DPI并且不会尝试扩展(右键单击桌面图标,然后在“兼容性”选项卡上更改较高的DPI设置。)

由于@weisj建议更新到jdk 9+可能会解决此问题,但是随后根据下面的注释确定了一个错误。我在JEP263 HiDPI graphics上查阅了openjdk注释,看起来好像已经完成了支持现代显示器的工作。当然,这确实为用户带来了额外的工作,因此可能不切实际。与往常一样,这取决于实际结果。

,

在paintComponent() 中激活抗锯齿并绘制RoundRectangle2D。

示例: Antialiasing in Swing

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...