Skip to content

Commit ce9a638

Browse files
committed
SwingSearchBar: use MigLayout; support null keys
1 parent 77ee312 commit ce9a638

File tree

1 file changed

+22
-11
lines changed

1 file changed

+22
-11
lines changed

src/main/java/org/scijava/ui/swing/search/SwingSearchBar.java

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,16 @@
6464
import javax.swing.JScrollPane;
6565
import javax.swing.JSplitPane;
6666
import javax.swing.JTextField;
67+
import javax.swing.JTextPane;
6768
import javax.swing.ScrollPaneConstants;
6869
import javax.swing.SwingConstants;
6970
import javax.swing.SwingUtilities;
7071
import javax.swing.border.EmptyBorder;
7172
import javax.swing.event.DocumentEvent;
7273
import javax.swing.event.DocumentListener;
7374

75+
import net.miginfocom.swing.MigLayout;
76+
7477
import org.scijava.Context;
7578
import org.scijava.Priority;
7679
import org.scijava.plugin.Parameter;
@@ -335,18 +338,26 @@ public SwingSearchPanel() {
335338
// populate details pane
336339
detailsTitle.setText("<html><h2>" + result.name() + "</h2>");
337340
detailsProps.removeAll();
338-
detailsProps.setLayout(new GridLayout(result.properties().size(), 2));
341+
detailsProps.setLayout(new MigLayout("fillx,wrap 2", "[200px|pref]", "pref"));
339342
result.properties().forEach((k, v) -> {
340-
final JLabel keyLabel = new JLabel("<html>" +
341-
"<strong style=\"color: gray; padding-right: 5px\">" + k +
342-
"&nbsp;&nbsp;</strong>", SwingConstants.RIGHT);
343-
detailsProps.add(keyLabel);
344-
final JTextField valueField = new JTextField();
345-
valueField.setText(v);
346-
valueField.setEditable(false);
347-
valueField.setBackground(null);
348-
valueField.setBorder(null);
349-
detailsProps.add(valueField);
343+
if (k == null) {
344+
final JTextPane textPane = new JTextPane();
345+
textPane.setContentType("text/html");
346+
textPane.setText(v);
347+
detailsProps.add(textPane, "span 2");
348+
}
349+
else {
350+
final JLabel keyLabel = new JLabel("<html>" +
351+
"<strong style=\"color: gray; padding-right: 5px\">" + k +
352+
"&nbsp;&nbsp;</strong>", SwingConstants.RIGHT);
353+
detailsProps.add(keyLabel);
354+
final JTextField valueField = new JTextField();
355+
valueField.setText(v);
356+
valueField.setEditable(false);
357+
valueField.setBackground(null);
358+
valueField.setBorder(null);
359+
detailsProps.add(valueField);
360+
}
350361
});
351362
detailsButtons.removeAll();
352363
final List<SearchAction> actions = searchService.actions(result);

0 commit comments

Comments
 (0)