*/
package jalview.gui;
+import jalview.io.IntKeyStringValueEntry;
import jalview.util.MessageManager;
import java.awt.BorderLayout;
}
/**
+ * A helper method to build a drop-down choice of values, with tooltips for the
+ * entries
+ *
+ * @param entries
+ * @param tooltips
+ */
+ public static JComboBox<IntKeyStringValueEntry> buildIntKeyStringValueComboWithTooltips(
+ List<IntKeyStringValueEntry> entries, List<String> tooltips)
+ {
+ JComboBox<IntKeyStringValueEntry> combo = new JComboBox<>();
+ final ComboBoxTooltipRenderer renderer = new ComboBoxTooltipRenderer();
+ combo.setRenderer(renderer);
+ for (IntKeyStringValueEntry attName : entries)
+ {
+ combo.addItem(attName);
+ }
+ renderer.setTooltips(tooltips);
+ final MouseAdapter mouseListener = new MouseAdapter()
+ {
+ @Override
+ public void mouseEntered(MouseEvent e)
+ {
+ int j = combo.getSelectedIndex();
+ if (j > -1)
+ {
+ combo.setToolTipText(tooltips.get(j));
+ }
+ }
+
+ @Override
+ public void mouseExited(MouseEvent e)
+ {
+ combo.setToolTipText(null);
+ }
+ };
+ for (Component c : combo.getComponents())
+ {
+ c.addMouseListener(mouseListener);
+ }
+ return combo;
+ }
+
+ /**
* Adds a titled border to the component in the default font and position (top
* left), optionally witht italic text
*