0

internalFrameIconified は internalFrameDeiconified の後にのみ機能しますか?
そして、アイコン化すると、最小化が表示されます..これはJavaのバグですか?
最小化する前に最大化メソッドを呼び出すことはできますか?

    //  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);
4

1 に答える 1

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"
    }

    //...

等々...

つまり、印刷されたテキストは、内部フレームで何が起こるかに対応していません。
内部フレームが非アイコン化されると、対応するInternalFrameListener印刷方法「最小化」が行われます。これは、彼に間違ったメッセージを印刷させるためです。
の他のメソッドと同じこと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);
于 2012-01-20T11:36:57.230 に答える