jFrame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
super.windowClosing(e);
});
jFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { super.windowClosing(e); ...
转载于:http://www.bianceng.cn/Programming/
Java/201101/23095.htm
有很多刚开始学Swing的人经常问
JFrame关闭的时候先询问下是否
关闭,即弹出一个对话框让用户点击选择YES或NO,其实稍微进去查看源代码就能找到答案。我们找到那里是发出
关闭事件的地方,我们在那个地方进行拦截就可以了,查看源代码可以知道在
JFrame中有这么一个方法:
protected void processWindowEvent(WindowEvent e) {
在swing的窗口里面,即jframe里面,进行关闭窗口动作,如果事先不在代码中设置好,则默认是把窗口设成setVisable(false),程序还是依然运行着,继续占用内存,所以如果不小心,越调试则会发现内存占用率越高,机子越来越卡。
一般的,如果没有特殊要求,只需要这样让该窗口对象调用setDefaultCloseOperation(JFrame.EXIT_ON_CL
setDefaultCloseOperation(
JFrame.DO_NOTHING_ON_CLOSE);
JFrame.DO_NOTHING_ON_CLOSE//
关闭按钮失效
JFrame.EXIT_ON_CLOSE//
关闭按钮
事件响应时退出系统
JFrame.DISPOSE_ON_CLOSE//
关闭按钮
事件响应时只是该界面不显示,系统部退出
this.addWindowListener(this);
//按
关闭按钮,啥事也不做
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
3、实现windowClosing方法
*
关闭主窗口处理
@Ov...
Java JFrame窗口关闭方法总结
之前写窗口时每次都是直接copy关闭的方法,没有想过其它的,最近写的窗口比较多,就总结了一些窗口关闭的方法有哪些,方便以后自己查阅。
public void setDefaultCloseOperation(int operation):
默认关闭状态:JFrame.class中: private int d
设置用户在此窗体上发起 "close" 时默认执行的操作。必须指定以下选项之一:
DO_NOTHING_ON_CLOSE(在 WindowConstants 中定义):不执行任何操作;要求程序在已注册的 WindowListener 对象的 windowClosing 方法中处理该操作。
HIDE_ON_CLOSE(在 WindowConstants 中定义):调用任意已注册的 Windo
public class JFrames {
public static void main(String[] args) {
JFrame frame = new JFrame("Java窗体程序");
frame.setBounds(100,100,500,500);
frame.setVisible(true);
二、Swing解决关闭窗体问题
frame.set
Java GUI 中的键盘输入事件,可以通过实现 KeyListener 接口来实现。Keylistener 接口提供了三个方法,分别是 keyPressed(KeyEvent e)、keyReleased(KeyEvent e)、keyTyped(KeyEvent e)。当用户按下、释放或输入一个按键时,Java 会自动调用这些方法。
例如,当用户按下键盘上的某个键时,会触发 keyPressed(KeyEvent e) 方法。在方法中,可以通过 e.getKeyCode() 方法获取用户按下的键的 ASCII 码,从而进行相应的处理。
下面是一个示例代码:
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class KeyInputTest extends JFrame implements KeyListener {
public KeyInputTest() {
JPanel panel = new JPanel();
panel.addKeyListener(this);
add(panel);
setSize(200, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
public static void main(String[] args) {
new KeyInputTest();
@Override
public void keyPressed(KeyEvent e) {
System.out.println("Key Pressed: " + e.getKeyCode());
@Override
public void keyReleased(KeyEvent e) {
System.out.println("Key Released: " + e.getKeyCode());
@Override
public void keyTyped(KeyEvent e) {
System.out.println("Key Typed: " + e.getKeyChar());
在这个示例中,我们创建了一个 JFrame 窗口,并在其中添加了一个 JPanel。然后,我们实现了 KeyListener 接口,并重写了三个方法。在构造方法中,我们将 JPanel 的键盘事件监听器设置为自己,并将窗口设置为可见状态。当用户按下、释放或输入一个键时,Java 会自动调用相应的方法,在方法中我们可以根据用户的操作进行相应的处理。
Zookeeper.ClientCnxn: Session 0x0 for server null, unexpected error, closing socket connection and a