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