如何关闭X按钮的可见性并禁用alt + F4功能

Bul*_*lit 1 java swing

有人能告诉我如何将主应用程序窗口中的X按钮设置为false,以及如何设置Alt + F4功能不可用或只是禁用它?


更新

我添加了:

public ZalumView(SingleFrameApplication app) { 
    super(app); 
    initComponents(); 
    mainFrame = this.getFrame(); 
    mainFrame.setTitle("Zalum - zarzadzanie zasobami ludzkimi"); 
    mainFrame.pack(); 
    mainFrame.setResizable(false); 
    mainFrame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
Run Code Online (Sandbox Code Playgroud)

tra*_*god 7

"一个框架可能会将其原生装饰(即框架和标题栏)关闭setUndecorated." -Frame

附录:您可以发送一个WINDOW_CLOSING事件,并绑定该Action到你想要的Keystroke,如图所示这里.

  • 如果这不是您想要的,请编辑您的问题以包含展示您描述的问题的[sscce](http://sscce.org/). (2认同)

nIc*_*cOw 7

将X按钮设置为隐形是由@trashgod描述的,为了禁用你的ALT + F4,你可以简单地写一下 frameObject.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

或者您可以像这样将WindowListener(...)添加到您的JFrame:

代码片段显示我的意思:

import java.awt.event.*;
import javax.swing.*;

public class FrameTest
{
    private WindowAdapter windowAction;
    private JFrame frame;

    public FrameTest()
    {
        frame = new JFrame("FRAME TEST");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationByPlatform(true);

        windowAction = new WindowAdapter()
        {
            public void windowClosing(WindowEvent we)
            {
                frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
            }
        };

        frame.addWindowListener(windowAction);

        frame.setSize(100, 100);
        frame.setVisible(true);     
    }
    public static void main(String... args)
    {
        SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                new FrameTest();
            }
        });
    }
}
Run Code Online (Sandbox Code Playgroud)