Swing/ExpandablePanel のバックアップ(No.15)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - 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)
TITLE:JPanelの展開と折り畳み
Posted by terai at 2004-11-01
JPanelの展開と折り畳み
JPanelの展開と折り畳みを行います。
- &jnlp;
- &jar;
- &zip;
#screenshot
サンプルコード
public void initComps(Vector<ExpansionPanel> panelList, ExpansionEvent e) {
setVisible(false);
centerBox.removeAll();
northBox.removeAll();
southBox.removeAll();
ExpansionPanel es = (ExpansionPanel) e.getSource();
boolean southFlag = false;
for(ExpansionPanel exp: panelList) {
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の北、中央、南に各パネルを振り分けています。このため展開されるパネルはひとつだけになります。
L2FProd.com - Common Components にある JOutlookBar で、もっときれいにパネルの展開や折り畳みをすることができるようです(アニメーション付き)。ソースも公開されているので参考にしてみてください。