【发布时间】:2013-01-28 13:50:58
【问题描述】:
我有一个现有的Java Swing 应用程序。在应用程序的中间是一个JPanel,我希望它能够zoom in and out。 JPanel 上有许多 JComponents(主要是其他 JPanels 和 JLabels)。
此外,mouse 的位置也需要适当调整 - 因此即使在 JPanel 已缩放之后,mouseevents 也需要保持不变。因此,简单地更改每个 component 的 paint 方法似乎并不合理。
编辑:
好的,我使用 MagnifierUI class 进行了一些小的编辑,使其工作正常。但是我创建的放大面板有错误的mouseevents - 即面板已缩放,mouseevents 没有。
【问题讨论】:
-
JXLayer 可以做到这一点。现在获取示例(甚至 JXLayer 本身)是有问题的
-
我应该提一下,我尝试了以下方法 1) Utils4Swing5 这根本不起作用。 2)我也尝试过使用 JXLayer 和 PBTransform 的 Peit Blok 方法 - 但是 Peit Blok 似乎已经离开了地球,我再也找不到 PBTransform link 所需的罐子
-
“有什么建议吗?” 让用户选择屏幕分辨率或操作系统的内置屏幕放大实用程序。如果用户需要它,他们会知道在哪里可以找到它。
-
@MadProgrammer 是的,我尝试过使用 JXLayer(和 JLayer),但 TransformUI 似乎是唯一可以与 JXLayer 一起使用来缩放的 UI 类,而且奇怪的是它在互联网上不存在(如 Peit Blok,它的开发商,似乎已经关门了)
-
我已经把它打包了here。查看 PB 的 Jar 中的
TestWrapped演示...
标签: java swing user-interface jpanel zooming