单击关闭按钮时,awt窗口不关闭

时间:2012-10-05 11:06:10

标签: java awt frame windowlistener

我为Virtual KeyBoard实现了一个示例类并运行了这个VirtualKeyboardTest。键盘出现但主要问题是单击x按钮时它没有正确关闭。我怎么能纠正这个?

import java.awt.*;
import java.awt.event.*;

public class VirtualKeyboardTest
{
    public static void main(String args[])
    {
        VirtualKeyboard vk = new VirtualKeyboard();
        vk.setSize(500,300);
        vk.setVisible(true);
        Frame f1 = new Frame();
        f1.addWindowListener( new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent we) {

                System.exit(0);
            }
        } );
    }
}

3 个答案:

答案 0 :(得分:5)

您的代码不正确。而不是

f1.addWindowListener( new WindowAdapter() {
  ...

vk.addWindowListener( new WindowAdapter() {
  ...

这将关闭你的窗口。

答案 1 :(得分:2)

使用方法 public void dispose()

更好
c = [2,4]
a.include? b

AWT 是重量级的,即其组件使用系统资源

Windows是非阻止的。这意味着一旦在代码中创建了一个代码,代码就会继续执行。

这意味着您的Window可能会在创建后立即超出范围,除非您在其他位置明确存储了对它的引用。此时窗口仍在屏幕上。

这也意味着当你完成它时,你需要一些其他方法来摆脱它。输入 Window dispose()方法,可以从其中一个Window的侦听器中调用。

答案 2 :(得分:-1)

检查一下:

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

它基本上告诉Windows管理器在按下“X”时关闭你的应用程序。

相关问题