有人能告诉我如何将主应用程序窗口中的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);
答案 0 :(得分:7)
“框架可能会使用setUndecorated
关闭其原生装饰(即框架和标题栏)。” - Frame
附录:您可以发送WINDOW_CLOSING
事件并将Action
绑定到您想要的Keystroke
,如图here所示。
答案 1 :(得分:7)
为了将X按钮设置为不可见,@ trashgod非常详细地说明了这一点,为了禁用ALT + F4,你可以简单地写frameObject.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
或者您可以像这样将JindowListener(...)添加到您的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();
}
});
}
}