1

问题

我想知道是否有可能制作一个JFrame不可移动/可拖动的 - 只是出于好奇而不是真正的用例。问题是操作系统的窗口管理器负责窗口的外观,但程序本身只有几个可能的设置。这就是为什么我正在寻找一个黑客。

我试过的

  • 删除了此JFrame答案中所述的装饰(但是,仍然可以移动窗口,例如通过在 GNU/Linux 上按住 ALT 键)
  • 设置一个移动时ComponentListener重置位置的aJFrameJFrame
  • 创建了一个全屏JFrame,使其透明并添加了一个JPanel模拟窗口(但是,即使窗口最大化,仍然可以拖动窗口)
  • 使用 aJWindow和 aJDialog代替(也不起作用)

有没有办法通过使用不同的方法或改进我的一种方法来实现所需的行为?

4

1 回答 1

0
private void formComponentMoved(java.awt.event.ComponentEvent evt) {                                    
       this.setLocationRelativeTo(null);
    }     

addComponentListener(new java.awt.event.ComponentAdapter() {
                public void componentMoved(java.awt.event.ComponentEvent evt) {
                    formComponentMoved(evt);
                }
            });

为我工作。

于 2018-02-15T16:43:36.180 回答