• category: swing folder: InternalFrameMaximizedListener title: JInternalFrameの最大化、最大化からの復元イベントを取得する tags: [JInternalFrame, JDesktopPane, PropertyChangeListener] author: aterai pubdate: 2016-07-11T00:34:23+09:00 description: JInternalFrameの最大化ボタン、最大化からの復元ボタンをクリックした場合のイベントを取得します。 image: https://lh3.googleusercontent.com/-CxgwsouF5Cw/V4JonwQumzI/AAAAAAAAOdc/-F66XgbHf28_pt-Rc-zgv8f47E--2hvqgCCo/s800/InternalFrameMaximizedListener.png

概要

JInternalFrameの最大化ボタン、最大化からの復元ボタンをクリックした場合のイベントを取得します。

サンプルコード

iframe.addPropertyChangeListener(e -> {
  String prop = e.getPropertyName();
  if (JInternalFrame.IS_MAXIMUM_PROPERTY == prop) {
    if (e.getNewValue() == Boolean.TRUE) {
      displayMessage("* Internal frame maximized", e);
    } else {
      displayMessage("* Internal frame minimized", e);
    }
  }
});
View in GitHub: Java, Kotlin

解説

InternalFrameListenerで、閉じるボタン、最小化(アイコン化)ボタン、最小化(アイコン化)からの復元などのイベントを取得できますが、最大化ボタン、最大化からの復元ボタンをクリックした場合などのイベントは取得できないので、PropertyChangeListenerを利用して、このイベントを取得します。

  • 最大化ボタンをクリック
    • プロパティ名: JInternalFrame.IS_MAXIMUM_PROPERTYで値がBoolean.TRUEのイベントが発生
  • 最大化からの復元ボタンをクリック
    • プロパティ名: JInternalFrame.IS_MAXIMUM_PROPERTYで値がBoolean.FALSEのイベントが発生

参考リンク

コメント