
JMenuItem menu102 = new JMenuItem("菜单102")
menu102.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
addIFame(new InternalFrame())
}
})
上述代码就能实现在MenuBar中的MenuItem中增加监听。
/*** WindowListener:窗口监听事件 ex:关闭、最小化...
* @author Administrator
*/
public class WindowListenerDemo {
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame("窗口程序")//创建一个带标题的窗口对象frame
frame.setVisible(true)//显示窗口
frame.setSize(600, 400)//设置窗口大小
frame.setLocationRelativeTo(null)//设置窗口居中
//frame.setDefaultCloseOperation(3)//点击X关闭程序 3为结束程序
frame.setLayout(null)//清空布局
MyWindowListener myWindowListener = new MyWindowListener()//创建一个窗口监听事件对象
frame.addWindowListener(myWindowListener)//添加myMouseListener鼠标监听事件
frame.dispose()//关闭程序
}
}
class MyWindowListener implements WindowListener{
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
}
/*
* 关闭窗口之后,自动调用此方法
*/
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("您关闭了窗口...")
}
/*
* 最小化窗口之后,自动调用此方法
*/
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
System.out.println("您把窗口最小化了....")
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
}
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener(){
@Override
public void eventDispatched(AWTEvent event)
{
if(event instanceof KeyEvent)
{
KeyEvent ke=(KeyEvent)event
if(ke.getID()==KeyEvent.KEY_RELEASED/*键盘按下后释放时触发*/&&ke.getKeyCode()==KeyEvent.VK_ESCAPE/*你的键值KeyEvent.XXX*/)
{
//你的处理方法在这,JWindow的引用.怎么样?
}
}
else if(event instanceof MouseEvent)
{
MouseEvent me=(MouseEvent)event
if(me.getID()==MouseEvent.MOUSE_RELEASED/*鼠标按下后释放时触发*/)
{
//你的处理方法在这
}
}
//好些呢,想监听啥就监听啥
}
}, AWTEvent.MOUSE_EVENT_MASK+AWTEvent.MOUSE_MOTION_EVENT_MASK+AWTEvent.MOUSE_WHEEL_EVENT_MASK+AWTEvent.KEY_EVENT_MASK)
如果你的窗口隐藏了,还想监听,那可能需要JNA库的支持
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)