/************************************************************************** /* This class implements a simple JPanel with a widget. /* /* 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 javax.swing.*; /** This class implements a simple JPanel with a widget. @version $Revision: 1.5 $ @author $Author: bablokb $ */ public class WidgetPanel extends JPanel { ////////////////////////////////////////////////////////////////////////////// /** Constructor. */ public WidgetPanel(String title) { this(title,null); } ////////////////////////////////////////////////////////////////////////////// /** Constructor. */ public WidgetPanel(String title, JComponent comp) { setLayout(new BorderLayout()); JLabel label = new JLabel(title); label.setBorder(BorderFactory.createEmptyBorder(4,4,4,4)); label.setFont(label.getFont().deriveFont(Font.BOLD)); label.setOpaque(true); label.setBackground(getBackground().brighter()); add(label,BorderLayout.NORTH); if (comp != null) { add(comp,BorderLayout.SOUTH); } setPreferredSize(new Dimension(400,300)); setBorder(BorderFactory.createEmptyBorder(40,40,40,40)); } ////////////////////////////////////////////////////////////////////////////// /** Set the main component. */ public void setComponent(JComponent comp) { add(comp,BorderLayout.SOUTH); } }