3

可能重复:
我可以使用 Java 找到控制台宽度吗?

例如,当您在 Linux 命令行中运行 nano 时,它会自动调整其文本格式以适应显示尺寸,即使您即时更改它们也是如此。

我知道这是一个很长的镜头,但是 Java 有没有办法检测显示大小和对其所做的更改?

4

2 回答 2

1

您需要使用 JNI 来调用 ncurses 或使用执行相同操作的库。

如果您只需要获取维度信息,这里有一个示例其中包含对 getRowCount 和 getColumnCount 的 API 调用。

于 2011-08-18T19:50:59.450 回答
-4

您可以通过在 JFrame 或任何外部容器上调用 getSize 来获取正在运行 Swing 应用程序的窗口的尺寸。这就是我将用于您描述的内容:获取窗口大小,然后将字体大小计算为窗口大小的某个百分比,可能具有上限和下限,因此您不要将字体大小设置为 2用户在增加窗口时会缩小窗口或 150。

您可以调用 GraphicsConfiguration.getLocalGraphicsConfiguration 来获取一个对象,该对象通常为您提供有关图形环境的信息。您可能想查看该类的 Java 文档,看看它是否提供了您想要的信息。getMaximumWindowBounds 可能是您正在寻找的。

您还可以使用 setExtendedState 最大化窗口,然后您可以检查当时的边界。

于 2011-08-18T20:01:08.763 回答