Swing/ShowingDisplayableVisible のバックアップ(No.1)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ShowingDisplayableVisible へ行く。
- 1 (2012-10-27 (土) 05:33:29)
- 2 (2013-01-10 (木) 17:38:56)
- 3 (2014-11-26 (水) 19:17:24)
- 4 (2015-01-09 (金) 18:06:20)
- 5 (2016-04-21 (木) 15:28:29)
- 6 (2017-08-01 (火) 13:50:42)
- 7 (2018-08-02 (木) 15:21:54)
- 8 (2020-03-31 (火) 19:06:41)
- 9 (2021-10-10 (日) 19:47:16)
- 10 (2025-01-03 (金) 08:57:02)
- 11 (2025-01-03 (金) 09:01:23)
- 12 (2025-01-03 (金) 09:02:38)
- 13 (2025-01-03 (金) 09:03:21)
- 14 (2025-01-03 (金) 09:04:02)
TITLE:JComponentの表示状態
Posted by aterai at 2009-04-20
JComponentの表示状態
JComponentの表示状態をテストします。
- &jnlp;
- &jar;
- &zip;
サンプルコード
button.addHierarchyListener(new HierarchyListener() {
public void hierarchyChanged(HierarchyEvent e) {
if((e.getChangeFlags() & HierarchyEvent.SHOWING_CHANGED)!=0) {
printInfo("SHOWING_CHANGED");
}else if((e.getChangeFlags() & HierarchyEvent.DISPLAYABILITY_CHANGED)!=0) {
printInfo("DISPLAYABILITY_CHANGED");
}
}
});
View in GitHub: Java, Kotlin解説
上記のサンプルでは、コンポーネント(JButton)にHierarchyListenerを追加して、表示状態が切り替わった時のisDisplayable、isShowing、isVisibleを調べています。
- 開始時:HierarchyEvent.DISPLAYABILITY_CHANGED
- isDisplayable:true
- isShowing:false
- isVisible:true
- HierarchyEvent.SHOWING_CHANGED
- isDisplayable:true
- isShowing:true<->false
- isVisible:true
- コンポーネントがJScrollPaneの表示領域にない、フレームがアイコン化、別パネルの裏に隠れているといった場合
- isDisplayable:true
- isShowing:true
- isVisible:true
- コンポーネントがJTabbedPaneやCardLayoutの表示領域にないなど(親コンポーネントが非表示)の場合
- isDisplayable:true
- isShowing:false
- isVisible:true
- コンポーネントがsetVisible(false)と設定された場合
- isDisplayable:true
- isShowing:false
- isVisible:false