代码之家  ›  专栏  ›  技术社区  ›  Erick Robertson

如何将Java JFrm部分移动到我的Linux桌面上?

  •  6
  • Erick Robertson  · 技术社区  · 16 年前

    我正在编写一个带有可移动框架的Java应用程序,在Linux中我遇到了一个怪癖。我在CentOS下运行gnome 2.16.0。

    当我使用 JFrame.setBounds 要将边界设置为屏幕一半以外的任何位置,它实际上会将帧的位置设置为尽可能接近指定的边界,同时仍完全保留在屏幕上。

    我如何告诉Java告诉GNOME实际放置我指定的帧,即使这是屏幕的一半吗?

    这里有一些示例代码来演示这个问题,假设-50,50不在屏幕上。框架仍然可以通过标题栏从屏幕上拖动,但任何调用 setLocation setBounds 别工作。

    这在窗户里很好用。

    JFrame frame = new JFrame();
    frame.setPreferredSize(new Dimension(200, 200));
    frame.pack();
    frame.setVisible(true);
    frame.setLocation(-50, 50);
    
    1 回复  |  直到 16 年前
        1
  •  3
  •   Community Mohan Dere    9 年前

    我不认为在Java中是可能的,但我喜欢被证明是错误的。我认为这是一个功能,旨在减少丢失窗口的风险。在MacOSX和Ubuntu上也发生了类似的事情。这里有个原始人 example 为了修补。也许有人可以试试窗户。