Swing/ExpandablePanel のバックアップ(No.10)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Swing/ExpandablePanel へ行く。
- 1 (2004-11-01 (月) 01:05:24)
- 2 (2004-11-01 (月) 01:15:40)
- 3 (2004-11-02 (火) 05:21:12)
- 4 (2004-11-04 (木) 10:05:10)
- 5 (2005-04-28 (木) 04:33:05)
- 6 (2005-05-11 (水) 00:30:39)
- 7 (2005-07-02 (土) 16:32:44)
- 8 (2005-07-20 (水) 21:36:40)
- 9 (2005-10-28 (金) 18:41:21)
- 10 (2006-01-29 (日) 01:31:07)
- 11 (2006-02-27 (月) 15:52:24)
- 12 (2006-10-12 (木) 12:04:02)
- 13 (2007-05-16 (水) 14:57:02)
- 14 (2007-11-14 (水) 13:28:23)
- 15 (2009-01-20 (火) 14:51:35)
- 16 (2013-04-14 (日) 00:13:38)
- 17 (2014-11-18 (火) 01:49:52)
- 18 (2015-04-16 (木) 11:37:23)
- 19 (2017-03-07 (火) 14:38:54)
- 20 (2018-01-10 (水) 18:04:31)
- 21 (2019-12-31 (火) 19:16:16)
- 22 (2021-07-03 (土) 03:42:14)
JPanelの展開と折りたたみ
編集者:Terai Atsuhiro
作成日:2004-11-01
更新日:2021-07-03 (土) 03:42:14
概要
JPanelの展開と折りたたみを行います。
サンプルコード
public void initComps(Vector panelList, ExpansionEvent e) { setVisible(false); centerBox.removeAll(); northBox.removeAll(); southBox.removeAll(); ExpansionPanel es = (ExpansionPanel) e.getSource(); boolean southFlag = false; for(Iterator it=panelList.iterator();it.hasNext();) { ExpansionPanel exp = (ExpansionPanel) it.next(); if(exp==es && exp.isSelected()) { centerBox.add(exp); southFlag = true; }else if(southFlag) { exp.setSelected(false); southBox.add(exp); }else{ exp.setSelected(false); northBox.add(exp); } } setVisible(true); }
解説
上記のサンプルでは、ボタンが押されるたびにそのパネルの展開と折りたたみを行い、同時にBorderLayoutの上辺、中央、下辺に各パネルを振り分けています。このため展開されるパネルはひとつだけになります。