JInternalFrame

トップ > チップス > JInternalFrame
2012-02-13, jinternalframe

/tips/java/swing/jinternalframe **InternalFrameListenerの落とし穴 「フレームが開かれたとき」という条件で、以下のようにリスナに処理を登録することができます。但し、このメソッドが呼び出されるのは、{strong:最初の一度だけ}で、同じフレームを何度も開け閉めするような場合には思い通りに動作しません。

:addInternalFrameListener(new InternalFrameListener() { : : :(略) : : @Override : public void internalFrameOpened(InternalFrameEvent e) { : System.out : .println("window opened."); : } :});

恐らくWindowListenerとの整合性の観点から、このような一見奇妙な仕様になっているような気がします。{link:http://java.sun.com/javase/6/docs/api/javax/swing/event/InternalFrameListener.html#internalFrameOpened%28javax.swing.event.InternalFrameEvent%29,ドキュメント}に注意書きの一つでもあれば良いような気がしますが・・・。

この記事は役に立ちましたか?