/************************************************************************** /* This class implements a complete ButtonBarPanel. /* /* Copyright (c) 2006 by Bernhard Bablok (mail@bablokb.de) /* /* This program is free software; you can redistribute it and/or modify /* it under the terms of the GNU General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This program is distributed in the hope that it will be useful, but /* WITHOUT ANY WARRANTY; without even the implied warranty of /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the /* GNU General Public License for more details. /* /* You should have received a copy of the GNU General Public License /* along with this program; see the file COPYING. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ import java.awt.*; import java.awt.event.*; import javax.swing.*; import com.l2fprod.common.swing.*; /** This class implements a complete ButtonBarPanel. @version $Revision: 1.1 $ @author $Author: bablokb $ */ public class ButtonBarPanel extends JPanel { private JButtonBar iBar; private ButtonGroup iGroup; private Component iCurrentComponent = null; ////////////////////////////////////////////////////////////////////////////// /** Constructor. */ public ButtonBarPanel() { iBar = new JButtonBar(JButtonBar.VERTICAL); iGroup = new ButtonGroup(); add("West",iBar); } ////////////////////////////////////////////////////////////////////////////// /** Switch to new component. */ private void switch2Component(Component newComponent) { if (iCurrentComponent != null) { remove(iCurrentComponent); } iCurrentComponent = newComponent; add("Center",iCurrentComponent); revalidate(); repaint(); } ////////////////////////////////////////////////////////////////////////////// /** Add a panel to the ButtonBarPanel. */ public void addPanel(final Component component,String title,String iconFile) { JToggleButton button = new JToggleButton(); button.setAction(new AbstractAction(title,new ImageIcon(iconFile)) { public void actionPerformed(ActionEvent event) { switch2Component(component); } }); iBar.add(button); iGroup.add(button); // select first panel if (iGroup.getSelection() == null) { button.setSelected(true); switch2Component(component); } } }