【发布时间】:2014-10-20 02:07:04
【问题描述】:
Jframe 正在关闭来自键盘的任何输入,只需要在用户输入转义键时关闭它。如果存在已知问题,无法找到类似示例,请提供链接。
package jframe_no_decoration;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.*;
import javax.swing.*;
import javax.swing.JFrame;
import javax.swing.WindowConstants;
public class Jframe_no_decoration {
public static void main(String args[]) {
int FrameWidth = 400;
int FrameHeight = 350;
JFrame frame = new JFrame ();
frame.setResizable(false);
frame.setBounds(0, 0, FrameWidth, FrameHeight);
frame.setLocationRelativeTo(null);
frame.setUndecorated(true);
frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
frame.setVisible(true);
frame.getContentPane().setBackground(Color.black);
frame.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_ESCAPE);
System.exit(0);
}
});
}
}
Jframe 正在关闭来自键盘的任何输入,只需要在用户输入转义键时关闭它。如果存在已知问题,无法找到类似示例,请提供链接。
【问题讨论】:
-
去掉分号 ->
KeyEvent.VK_ESCAPE);。此外,您应该更喜欢使用 Key Bindings 而不是 KeyListener -
成功了,谢谢。你能告诉我我将在哪里放置键绑定的例子吗?它会在 KeyEvent 的 if 语句中吗?
标签: java swing jframe keylistener keyevent