我正在编写一个带有可移动框架的 Java 应用程序,并且在 Linux 中遇到了一个怪癖。我在 CentOS 下运行 GNOME 2.16.0。
当我使用JFrame.setBounds
将边界设置到屏幕一半之外的任何位置时,它实际上将框架的位置设置为尽可能接近指定的边界,同时仍完全保持在屏幕上。
我如何告诉 Java 告诉 GNOME 将框架实际放在我指定的位置,即使那是屏幕的一半?
这是一些演示问题的示例代码,假设 -50, 50 不在屏幕上。框架仍然可以通过标题栏拖出屏幕,但任何调用setLocation
或setBounds
不起作用。
这在 Windows 中运行良好。
JFrame 框架 = 新的 JFrame(); frame.setPreferredSize(新维度(200, 200)); 框架.pack(); frame.setVisible(true); frame.setLocation(-50, 50);