Swing/InternalFrameMaximizedListener のバックアップの現在との差分(No.1)
- category: swing folder: InternalFrameMaximizedListener title: JInternalFrameの最大化、最大化からの復元イベントを取得する tags: [JInternalFrame, JDesktopPane, PropertyChangeListener] author: aterai pubdate: 2016-07-11T00:34:23+09:00 description: JInternalFrameの最大化ボタン、最大化からの復元ボタンをクリックした場合のイベントを取得します。 image:
概要
JInternalFrame
の最大化ボタン、最大化からの復元ボタンをクリックした場合のイベントを取得します。
Screenshot
Advertisement
サンプルコード
iframe.addPropertyChangeListener(e -> {
String prop = e.getPropertyName();
if (JInternalFrame.IS_MAXIMUM_PROPERTY == prop) {
if (Objects.equals(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
を利用して、このイベントを取得します。
-
InternalFrameListener
で閉じるボタン、最小化(アイコン化)ボタン、最小化(アイコン化)からの復元などのイベントを取得可能- 最大化ボタン、最大化からの復元ボタンをクリックした場合などのイベントが取得できない
-
PropertyChangeListener
で最大化ボタン、最大化からの復元ボタンのクリックイベントを取得可能- 最大化ボタンをクリック
- プロパティ名:
JInternalFrame.IS_MAXIMUM_PROPERTY
で値がBoolean.TRUE
のイベントが発生
- プロパティ名:
- 最大化からの復元ボタンをクリック
- プロパティ名:
JInternalFrame.IS_MAXIMUM_PROPERTY
で値がBoolean.FALSE
のイベントが発生
- プロパティ名:
- 最大化ボタンをクリック
- 最大化ボタンをクリック
- プロパティ名:
JInternalFrame.IS_MAXIMUM_PROPERTY
で値がBoolean.TRUE
のイベントが発生
- プロパティ名:
- 最大化からの復元ボタンをクリック
- プロパティ名:
JInternalFrame.IS_MAXIMUM_PROPERTY
で値がBoolean.FALSE
のイベントが発生
- プロパティ名:
参考リンク
- How to Write an Internal Frame Listener (The Java™ Tutorials > Creating a GUI With JFC/Swing > Writing Event Listeners)
- java - Capture maximise/restore event in JInternalFrame - Stack Overflow
- InternalFrameListener (Java Platform SE 8)
- java - Capture maximise/restore event in JInternalFrame - Stack Overflow