app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )
{
                           JOptionPane.showMessageDialog(this, "message");//加在这
System.exit( 0 );
}
}
);

解决方案 »

  1.   

    我说的是子窗口,JInternalFrame关闭的时候弹出。
      

  2.   

    //你运行下面的程序就可以实现了
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.sql.*;
    import javax .swing.event.*; 
    public class Hand extends JFrame
    {

    JDesktopPane theDesktop; public Hand()
    {
        
    theDesktop = new JDesktopPane();
    getContentPane().add( theDesktop ); JMenuBar bar = new JMenuBar();
    setJMenuBar( bar );

    JMenu toolMenu = new JMenu( "¹¤¾ß" );
    JMenuItem selectMenuItem = new JMenuItem( "²éѯ" );
    selectMenuItem.addActionListener(
    new ActionListener() {
    public void actionPerformed( ActionEvent e )
    {
                 JInternalFrame selectFrame = new JInternalFrame( "Êý¾Ý¿â²éѯ",
                                            true, true, true, true );
             selectFrame.setSize( 500, 400 );
             theDesktop.add( selectFrame );
                     selectFrame.setOpaque( true );  selectFrame.addInternalFrameListener(
     new InternalFrameAdapter()
    {
    public void internalFrameClosing(InternalFrameEvent e)
    {
    JOptionPane.showMessageDialog(null,"the JInternalFrame closing");
    }
    }
    );
             selectFrame.show(); }
    }
    );
    toolMenu.add( selectMenuItem );
    bar.add( toolMenu );
    setSize ( 800, 600 );
    show();


    }
    public static void main( String args[] )
     {
    final Hand app = new Hand();

    app.addWindowListener(
    new WindowAdapter() {
    public void windowClosing( WindowEvent e )
    {
    System.exit( 0 );
    }
    }
    );
      }
     }
      

  3.   

    错误提示:
    D:\java>javac Hand.java
    Hand.java:35: cannot resolve symbol
    symbol: class InternalFrameListener
                           new InternalFrameListener() {
                               ^
    1 error
      

  4.   

    你需要导入:
    import javax.swing.event.InternalFrameAdapter;
    import javax.swing.event.InternalFrameEvent;
    载试试
      

  5.   

    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    import java.sql.*;
    import javax.swing.event.InternalFrameAdapter;
    import javax.swing.event.InternalFrameEvent;
    public class Hand extends JFrame
    {        JDesktopPane theDesktop;
            JInternalFrame selectFrame;
            public Hand()
            {                theDesktop = new JDesktopPane();
                    getContentPane().add( theDesktop );                JMenuBar bar = new JMenuBar();
                    setJMenuBar( bar );                JMenu toolMenu = new JMenu( "工具" );
                    JMenuItem selectMenuItem = new JMenuItem( "查询" );
                    selectMenuItem.addActionListener(
                            new ActionListener() {
                            public void actionPerformed( ActionEvent e )
                            {
                         selectFrame = new JInternalFrame( "数据库查询",
                                                                    true, true, true, true );
                             selectFrame.setSize( 500, 400 );
                             theDesktop.add( selectFrame );
                     selectFrame.setOpaque( true );
                             selectFrame.show();
                             selectFrame.addInternalFrameListener(new InternalFrameAdapter() {
                                 public void internalFrameClosing(InternalFrameEvent e) {
                                     JOptionPane.showMessageDialog(null, "message");
                                 }
                             });
                            }
                    }
                    );
                    toolMenu.add( selectMenuItem );
                    bar.add( toolMenu );
                    setSize ( 800, 600 );
                    show();
            }
    public static void main( String args[] )
     {
            final Hand app = new Hand();        app.addWindowListener(
                    new WindowAdapter() {
                    public void windowClosing( WindowEvent e )
                    {
                            System.exit( 0 );
                    }
            }
            );
      }
     }我已经帮你测试过了,没有问题!