*/
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)
+ * left), optionally witht italic text
*
* @param comp
* @param title
+ * @param italic
*/
- public static void createItalicTitledBorder(JComponent comp,
+ public static TitledBorder createTitledBorder(JComponent comp,
String title, boolean italic)
{
Font font = comp.getFont();
title, TitledBorder.LEADING, TitledBorder.DEFAULT_POSITION,
font);
comp.setBorder(titledBorder);
+
+ return titledBorder;
}
}