/************************************************************************** /* A simple search panel with an entry field and a search-button. /* /* Copyright (c) 2003-2004 by Bernhard Bablok (mail@bablokb.de) /* /* This library is free software; you can redistribute it and/or modify /* it under the terms of the GNU Lesser General Public License as published /* by the Free Software Foundation; either version 2 of the License or /* (at your option) any later version. /* /* This library 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 Lesser General Public License for more details. /* /* You should have received a copy of the GNU Lesser General Public License /* along with this library; see the file COPYING.LESSER. If not, write to /* the Free Software Foundation Inc., 59 Temple Place - Suite 330, /* Boston, MA 02111-1307 USA /**************************************************************************/ package de.bablokb.luala.lib.gui; import java.awt.*; import java.awt.event.*; import javax.swing.*; import de.bablokb.luala.lib.event.*; /** A simple search panel with an entry field and a search-button. @version $Revision: 1.7 $ @author $Author: bablokb $ */ public class SimpleSearchPanel implements SearchPanel { //////////////////////////////////////////////////////////////////////////// /** A JPanel with an JTextField and a JButton. */ private JPanel iPanel; //////////////////////////////////////////////////////////////////////////// /** The JTextField for the search string. */ private JTextField iSearchField; //////////////////////////////////////////////////////////////////////////// /** The {@link SearchEventListener}. We actually nead a list, but in most cases a single {@link SearchEventListener} should do. */ private SearchEventListener iListener; //////////////////////////////////////////////////////////////////////////// /** Create a SimpleSearchPanel object. */ public SimpleSearchPanel() { iPanel = new JPanel(); iPanel.setLayout(new BorderLayout()); ActionListener al = new ActionListener() { public void actionPerformed(ActionEvent e) { if (iListener != null) iListener.search(new SearchEvent(iPanel,iSearchField.getText())); } }; iPanel.add(new JLabel("Enter the query: "),BorderLayout.WEST); iSearchField = new JTextField(30); iSearchField.addActionListener(al); iPanel.add(iSearchField,BorderLayout.CENTER); JButton button = new JButton("go!"); button.addActionListener(al); iPanel.add(button,BorderLayout.EAST); } //////////////////////////////////////////////////////////////////////////// /** {@inheritDoc} */ public JComponent getGUI() { return iPanel; } //////////////////////////////////////////////////////////////////////////// /** {@inheritDoc} */ public void addSearchEventListener(SearchEventListener sel) { iListener = sel; } }