当前位置: 首页 > 面试题库 >

为什么当我按下退出键时框架没有关闭?

姜志
2023-03-14
问题内容
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;


public class displayFullScreen extends JFrame {
        private JLabel alarmMessage = new JLabel("Alarm !");
        private JPanel panel = new JPanel();
        public displayFullScreen() {
            setUndecorated(true);
            panel.setLayout(new FlowLayout(FlowLayout.CENTER));
            alarmMessage.setText("Alarm !");
            alarmMessage.setFont(new Font("Cambria",Font.BOLD,100));
            alarmMessage.setForeground(Color.CYAN);
            panel.add(alarmMessage);
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            setBounds(0,0,screenSize.width,screenSize.height);
            panel.setBackground(Color.black);
            add(panel);

            addKeyListener(new KeyAdapter() {
               public void keyPressed(KeyEvent ke) {  // handler
        if(ke.getKeyCode() == ke.VK_ESCAPE) {
                       System.out.println("escaped ?");
                       setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); // trying to close
                    } else {
                       System.out.println("not escaped");
                     }
              } 
           });
        }

        public static void main(String args[]) {
    new displayFullScreen().setVisible(true);
    }

}

我已经为按键设置了监听器。每当我按下ESC按键时,为什么框架没有关闭?


问题答案:

调用setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
不会关闭框架,它将定义按下Windows装饰[X]关闭按钮时的行为(已禁用全屏显示)。您可以将其替换为setVisible(false);或退出程序。



 类似资料:
  • 在活动A中,我可以查看。我在活动A中按下了一个编辑按钮,它启动活动B(并关闭A)。在代码中,我将带有意图的字符串从A传递到B,如下所示: 在活动A中,我有: 但是文本框是空的。 你能告诉我该如何把值从B传递回A吗?

  • 我已经编写了一个程序,它监视一个目录,并在用户添加文件时发出警报,该文件的特定格式为用户名。文件它工作正常,但当我在收到新文件被添加的警报时按ok,程序退出,我希望它保持运行。 下面我写的代码将作为该应用程序中另一个PYQT应用程序的子进程运行。因此,我不会执行main(),而只是实例化SendMyFiles对象。

  • 我有一个带有searchView图标的操作栏。我点击searchView图标,出现softInputMode键盘,我的ListView出现用于搜索。但是,当您关闭searchView时,searchView会关闭,但我无法让ListView在searchView关闭时也关闭。 下面是我在activity_maps中的ListView代码。xml 地图ctivity.java 所以最初当MapsAc

  • 这样对吗?这就是它的初衷吗?

  • 嗨,我为AWT窗口创建了这个java代码 当我按下X按钮试图关闭窗户时,什么也没发生。窗户一直开着。我对示例代码做了以下更改:公共类labelExample extends Frame implements ActionListener{ 我添加了新的awt-frame f,名称为“Label example”。 Frame f;Frame f=新框架(“Label example”);并添加了此

  • 问题内容: 当我退出“活动”退出(通过“后退”按钮)时,我的应用程序崩溃。据我所知,这是在Android代码库中发生的,而不是我的,但是我并不完全相信。 这是来自adb的stacktrace: 有人有什么想法/建议吗? 问题答案: 无助,因为没有代码。还在看 造成原因:android.app.Activity.performStop(Activity.java:3575)上的java.lang.N