private JPanel createFreeSearchPanel() { final JPanel freeSearchPanel = new JPanel(new GridBagLayout()); freeSearchPanel.setBorder(BorderFactory.createTitledBorder("Metadata SQL Query")); final GridBagConstraints gbc = DialogUtils.createGridBagConstraints(); freeSearchPanel.add(metadataNameCombo, gbc); metadataNameCombo.setPrototypeDisplayValue("123456789012"); final String[] metadataNames = MetadataTable.getAllMetadataNames(); for (String name : metadataNames) { metadataNameCombo.insertItemAt(name, metadataNameCombo.getItemCount()); } gbc.gridx = 1; freeSearchPanel.add(metdataValueField, gbc); metdataValueField.setColumns(10); gbc.gridx = 2; freeSearchPanel.add(addMetadataButton, gbc); gbc.gridy++; gbc.gridx = 0; gbc.gridwidth = 2; freeSearchPanel.add(metadataArea, gbc); metadataArea.setBorder(new LineBorder(Color.BLACK)); metadataArea.setLineWrap(true); metadataArea.setRows(4); metadataArea.setToolTipText("Use AND,OR,NOT and =,<,>,<=,>-"); gbc.gridx = 2; gbc.gridwidth = 1; gbc.fill = GridBagConstraints.HORIZONTAL; DialogUtils.fillPanel(freeSearchPanel, gbc); return freeSearchPanel; }