我正在编写一个带有可移动框架的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);
最佳答案
我认为在Java中不可能,但我很高兴被证明是错的.我将其视为一项功能,旨在降低失去窗户的风险.类似的事情发生在Mac OS X和Ubuntu上.这是一个用于修补的原始example.也许有人可以在Windows上试试.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。