簡體   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