繁体   English   中英

如何使JFrame不可移动?

[英]How to make a JFrame not movable?

问题

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

我尝试过的

  • 按照答案中的说明删除了JFrame的修饰(但是,仍然可以移动窗口,例如通过按住GNU / Linux上的ALT键)
  • 设置一个ComponentListener ,如果JFrame被移动,它会重置位置(但是,这看起来很不舒服,因为侦听器仅拖动后才做出反应,但JFrame应该始终保持在相同位置)
  • 创建了一个全屏JFrame ,使其透明,并添加了一个JPanel来模拟一个窗口(但是,即使窗口最大化,也可以拖动该窗口)
  • 改用了JWindowJDialog (也无法使用)

是否可以通过使用其他方法或改进我的方法之一来实现所需的行为?

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);
                }
            });

为我工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM