【发布时间】:2011-02-21 01:20:39
【问题描述】:
当调整主 JFrame 的大小时,我需要找到组件的确切屏幕大小(以像素为单位)。
我尝试了几件事,但找不到简单的方法:它可能遗漏了一些明显的东西。
BBBBB JFRAME BORDER BBB
BZZZZZZZZZZZZZZZZZZZZZB
BAAAAAAAAAAAAAAAAAAAAAB
BCC1................DDB
BCCC................DDB
BCCC................DDB
BCCC................DDB
BCCC................2DB
BEEEEEEEEEEEEEEEEEEEEEB
BBBBBBBBBBBBBBBBBBBBBBB
如果用户使主 JFrame 更短(垂直)和更宽(水平),它可能会变成这样:
BBBBBB JFRAME BORDER BBBBBB
BZZZZZZZZZZZZZZZZZZZZZZZZZB
BAAAAAAAAAAAAAAAAAAAAAAAAAB
BCC1....................DDB
BCCC....................2DB
BEEEEEEEEEEEEEEEEEEEEEEEEEB
BBBBBBBBBBBBBBBBBBBBBBBBBBB
我想要的是在屏幕上找到由点表示的矩形区域的确切大小(以像素为单位)。
我正在添加一个ComponentListener 来获取调整大小的事件,效果很好。
我遇到的问题是,在组件上调用 getWidth()/getHeight() 显然 不 返回组件的屏幕尺寸,而是返回组件的实际尺寸(例如,您可以拥有) , 一个比它所在的组件更宽的 JPanel)。
欢迎任何提示。
【问题讨论】:
-
+1 用于 ASCII 艺术绘图。
-
@Finglas:谢谢,发现它比某些 Photobucket 图像链接或类似的更“有弹性”:)