2

我用 JInternal 框架制作了一个 java swing 应用程序。当我关闭一个内部框架时,它应该会显示一条弹出消息“你确定吗?” 在选项窗格中。如何将事件放在 JInternal 框架的关闭操作中?请帮我。

4

1 回答 1

8

有关如何编写InternalFrameListener. 您可以将所有用于关闭的代码放在internalFrameClosing(InternalFrameEvent e)方法中。

然后,只需使用方法将新创建的新实例添加InternalFrameListener到您JInternalFrame的实例中,如上一个链接所示。JInternalFrameaddInternalFrameListener

以下是有关该addInternalFrameListener方法的信息:JavaDoc

代码:

public class InternalFrameEventDemo implements InternalFrameListener{
    JInternalFrame frame;
    public InternalFrameEventDemo() {
        frame = new JInternalFrame("Event Generator",
                                                      true,  //resizable
                                                      true,  //closable
                                                      true,  //maximizable
                                                      true); //iconifiable
        //so that you can decide whether to close it or not
        frame.setDefaultCloseOperation(JInternalFrame.DO_NOTHING_ON_CLOSE);
        frame.addInternalFrameListener(this);
    }
    public void internalFrameClosing(InternalFrameEvent e) {
        //YOUR CODE HERE
        int option = JOptionPane.showConfirmDialog(null, "Really Close?", "Exit", JOptionPane.YES_NO_OPTION);  
        if (option == JOptionPane.YES_OPTION){
            //call dispose to really close it
            dispose();  
        }  
    }
    public void internalFrameClosed(InternalFrameEvent e) {

    }
    public void internalFrameOpened(InternalFrameEvent e) {

    }
    public void internalFrameIconified(InternalFrameEvent e) {

    }
    public void internalFrameDeiconified(InternalFrameEvent e) {

    }
    public void internalFrameActivated(InternalFrameEvent e) {

    }
    public void internalFrameDeactivated(InternalFrameEvent e) {

    }

    public static void main(String[] args) {
        new InternalFrameEventDemo();
    }
}
于 2013-09-05T10:03:17.730 回答