最大化内部框架

时间:2012-01-20 11:23:21

标签: java swing jinternalframe

internalFrameIconified是否仅在internalFrameDeiconified后才起作用?
当我想象它最小化时,它是一个java bug吗? 我们可以在最小化之前调用最大化方法吗?

    //  add the intrenal window frame event..
        InternalFrameListener internalFrameListener = new InternalFrameListener() {
        InternalFrameEvent e;
        public void internalFrameOpened(InternalFrameEvent e) {
             System.out.println("Opened");
        }

        public void internalFrameClosing(InternalFrameEvent e) {
        }

        public void internalFrameClosed(InternalFrameEvent e) {
            System.out.println("Closed");
        }

        public void internalFrameIconified(InternalFrameEvent e) {
           System.out.print("Maximised");
         }

        public void internalFrameDeiconified(InternalFrameEvent e) {
        System.out.print("Minimised");
       }

        public void internalFrameActivated(InternalFrameEvent e) {
         System.out.println("Activated");
       }

       public void internalFrameDeactivated(InternalFrameEvent e) {
         System.out.println("DeActivated");
        }
     };
    interFrame.addInternalFrameListener(internalFrameListener);

1 个答案:

答案 0 :(得分:1)

您只需使用正确的方法打印错误的消息。

    public void internalFrameIconified(InternalFrameEvent e) {
        System.out.print("Maximised"); // Should be "Iconified"
    }

    public void internalFrameDeiconified(InternalFrameEvent e) {
        System.out.print("Minimised"); // Should be "Deiconified"
    }

    //...

依旧......

我的意思是,打印的文本与内部框架的内容不一致 当内部框架 deiconified 时,InternalFrameListener的相应方法会打印“ Mininmised ”,因为您要让他打印错误信息。
InternalFrameListener的其他方法相同。
这就是为什么你无法理解究竟发生了什么。

以下是具有正确打印件的InternalFrameListener的正确代码:

InternalFrameListener internalFrameListener = new InternalFrameListener() {

    public void internalFrameOpened(InternalFrameEvent e) {
        System.out.print("Opened");
    }

    public void internalFrameClosing(InternalFrameEvent e) {
        System.out.print("Closing");
    }

    public void internalFrameClosed(InternalFrameEvent e) {
        System.out.print("Closed");
    }

    public void internalFrameIconified(InternalFrameEvent e) {
        System.out.print("Iconified");
    }

    public void internalFrameDeiconified(InternalFrameEvent e) {
        System.out.print("Deiconified");
    }

    public void internalFrameActivated(InternalFrameEvent e) {
        System.out.print("Activated");
    }

    public void internalFrameDeactivated(InternalFrameEvent e) {
        System.out.print("Deactivated");
    }
 };
 interFrame.addInternalFrameListener(internalFrameListener);