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 で、もっときれいにパネルの展開や折り畳みをすることができるようです(アニメーション付き)。ソースも公開されているので参考にしてみてください。

参考リンク

コメント