problem with the KeyEvent VK_ESCAPE
hello there
here in my code i want to close my frame when the user hits the Esc key
on the keyboard i wrote the code as follows but no thing occurs
seems i've forgot something:
import java.io.*;
import java.awt.*;
import javax.swing.ImageIcon;
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JButton;
import javax.swing.AbstractButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.sound.sampled.*;
import java.awt.event.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
publicclass MyFrameextends JFrame
{
ImageIcon img =new ImageIcon("D:\\Other\\JAVA\\Icons\\heart7.png");
JButton btn=new JButton("Press Me", img);
MyInner inner;
MyInner5 inner5;
MyFrame ()
{
setupGUI();
}
privatevoid setupGUI()
{
JFrame f =new JFrame();
//f.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
f.setTitle("Window Event");
f.setSize(550,350);
f.setResizable(false);
f.setLayout(new BorderLayout());
f.add("Center",btn);
btn.setVerticalTextPosition(AbstractButton.BOTTOM);
btn.setHorizontalTextPosition(AbstractButton.CENTER);
f.setVisible(true);
inner=new MyInner();
inner5=new MyInner5();
f.addWindowListener(inner);
f.addKeyListener(inner5);
}
class MyInnerextends WindowAdapter
{
publicvoid windowClosing(WindowEvent ee)
{
Toolkit tool = Toolkit.getDefaultToolkit();
tool.beep();
//JOptionPane.showMessageDialog(null, "Nice Work! ");
ImageIcon myImageIcon =new ImageIcon("D:\\Other\\JAVA\\Icons\\heart7.png");
JOptionPane.showMessageDialog(null,"Better Work!","Bye Bye!", JOptionPane.ERROR_MESSAGE, myImageIcon);
// JOptionPane.showMessageDialog(null, "Text", "Title", JOptionPane.Type, icon);
System.exit(0);
}
}
class MyInner5extends KeyAdapter
{
publicvoid keyPressed(KeyEvent k)
{
if (k.getKeyCode () == KeyEvent.VK_ESCAPE)
{
System.exit(0);
}
}
}
publicstaticvoid main(String[]args)
{
MyFrame frame=new MyFrame ();
}
}

