我为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);
}
} );
}
}
答案 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”时关闭你的应用程序。