Class |
Line # |
Actions |
|||
---|---|---|---|---|---|
ComboBoxTooltipRenderer | 37 | 5 | 5 |
1 | /* | |
2 | * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) | |
3 | * Copyright (C) $$Year-Rel$$ The Jalview Authors | |
4 | * | |
5 | * This file is part of Jalview. | |
6 | * | |
7 | * Jalview is free software: you can redistribute it and/or | |
8 | * modify it under the terms of the GNU General Public License | |
9 | * as published by the Free Software Foundation, either version 3 | |
10 | * of the License, or (at your option) any later version. | |
11 | * | |
12 | * Jalview is distributed in the hope that it will be useful, but | |
13 | * WITHOUT ANY WARRANTY; without even the implied warranty | |
14 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR | |
15 | * PURPOSE. See the GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with Jalview. If not, see <http://www.gnu.org/licenses/>. | |
19 | * The Jalview Authors are detailed in the 'AUTHORS' file. | |
20 | */ | |
21 | package jalview.gui; | |
22 | ||
23 | import java.awt.Component; | |
24 | import java.util.List; | |
25 | ||
26 | import javax.swing.DefaultListCellRenderer; | |
27 | import javax.swing.JComponent; | |
28 | import javax.swing.JList; | |
29 | ||
30 | /** | |
31 | * A helper class to render a combobox with tooltips | |
32 | * | |
33 | * @see http | |
34 | * ://stackoverflow.com/questions/480261/java-swing-mouseover-text-on-jcombobox | |
35 | * -items | |
36 | */ | |
37 | public class ComboBoxTooltipRenderer extends DefaultListCellRenderer | |
38 | { | |
39 | private static final long serialVersionUID = 1L; | |
40 | ||
41 | List<String> tooltips; | |
42 | ||
43 | 0 | @Override |
44 | public Component getListCellRendererComponent(JList list, Object value, | |
45 | int index, boolean isSelected, boolean cellHasFocus) | |
46 | { | |
47 | ||
48 | 0 | JComponent comp = (JComponent) super.getListCellRendererComponent(list, |
49 | value, index, isSelected, cellHasFocus); | |
50 | ||
51 | 0 | if (-1 < index && null != value && null != tooltips) |
52 | { | |
53 | 0 | list.setToolTipText(tooltips.get(index)); |
54 | } | |
55 | 0 | return comp; |
56 | } | |
57 | ||
58 | 0 | public void setTooltips(List<String> tips) |
59 | { | |
60 | 0 | this.tooltips = tips; |
61 | } | |
62 | } |