+ /*
+ * border layout
+ * West: 4 rows
+ * first row 'Find'
+ * remaining rows empty
+ * Center: 4 rows
+ * first row search box
+ * second row 'match case' checkbox
+ * third row 'include description' checkbox
+ * fourth row 'ignore hidden' checkbox
+ * East: four rows
+ * first row 'find next' button
+ * second row 'find all' button
+ * third row 'new feature' button
+ * fourth row empty
+ */
+ this.setLayout(new BorderLayout());
+ JPanel eastPanel = new JPanel();
+ eastPanel.setLayout(new GridLayout(PANEL_ROWS, 1));
+ this.add(eastPanel, BorderLayout.EAST);
+ JPanel centrePanel = new JPanel();
+ centrePanel.setLayout(new GridLayout(PANEL_ROWS, 1));
+ this.add(centrePanel, BorderLayout.CENTER);
+ JPanel westPanel = new JPanel();
+ westPanel.setLayout(new GridLayout(PANEL_ROWS, 1));
+ this.add(westPanel, BorderLayout.WEST);
+
+ /*
+ * 'Find' prompt goes top left
+ */
+ JLabel findLabel = new JLabel(
+ " " + MessageManager.getString("label.find") + " ");
+ findLabel.setFont(VERDANA_12);
+ westPanel.add(findLabel);
+
+ /*
+ * search box
+ */
+ searchBox = new JvCacheableInputBox<>(FINDER_CACHE_KEY, 25);
+ searchBox.setFont(VERDANA_12);
+ ((JTextComponent) searchBox.getEditor().getEditorComponent())
+ .addCaretListener(new CaretListener()
+ {
+ @Override
+ public void caretUpdate(CaretEvent e)
+ {
+ textfield_caretUpdate();
+ }
+ });
+ searchBox.getEditor().getEditorComponent()
+ .addKeyListener(new KeyAdapter()
+ {
+ @Override
+ public void keyPressed(KeyEvent e)
+ {
+ textfield_keyPressed(e);
+ }
+ });
+ centrePanel.add(searchBox);
+
+ /*
+ * search options checkboxes
+ */
+ caseSensitive = new JCheckBox();
+ caseSensitive.setHorizontalAlignment(SwingConstants.LEFT);
+ caseSensitive.setText(MessageManager.getString("label.match_case"));
+
+ searchDescription = new JCheckBox();
+ searchDescription
+ .setText(MessageManager.getString("label.include_description"));
+
+ ignoreHidden = new JCheckBox();
+ ignoreHidden.setText(MessageManager.getString("label.ignore_hidden"));
+ ignoreHidden.setToolTipText(
+ MessageManager.getString("label.ignore_hidden_tooltip"));
+
+ centrePanel.add(caseSensitive);
+ centrePanel.add(searchDescription);
+ centrePanel.add(ignoreHidden);
+
+ /*
+ * action buttons
+ */
+ JButton findAll = new JButton(
+ MessageManager.getString("action.find_all"));
+ findAll.setFont(VERDANA_12);
+ findAll.addActionListener(new ActionListener()