--- /dev/null
+package jp.naist.se.stigmata.ui.swing;\r
+\r
+/*\r
+ * $Id$\r
+ */\r
+\r
+import java.awt.BorderLayout;\r
+import java.awt.Color;\r
+import java.awt.Component;\r
+import java.awt.Dimension;\r
+import java.awt.SystemColor;\r
+\r
+import javax.swing.BorderFactory;\r
+import javax.swing.Icon;\r
+import javax.swing.JLabel;\r
+import javax.swing.JList;\r
+import javax.swing.JPanel;\r
+import javax.swing.ListCellRenderer;\r
+\r
+/**\r
+ * copy from tempura memo available at\r
+ * http://terai.xrea.jp/Swing/ClippedLRComboBox.html\r
+ * \r
+ * @author Haruaki Tamada\r
+ * @version $Revision$ $Date$\r
+ */\r
+public class ClippedLRListCellRenderer extends JPanel implements ListCellRenderer{\r
+ private static final long serialVersionUID = 32943674625674235L;\r
+\r
+ private final JLabel left = new JLabel();\r
+ private final JLabel right = new JLabel();\r
+\r
+ public ClippedLRListCellRenderer(Dimension dim, int rightWidth){\r
+ super(new BorderLayout());\r
+ left.setOpaque(true);\r
+ right.setOpaque(true);\r
+ left.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));\r
+ right.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));\r
+ right.setPreferredSize(new Dimension(rightWidth, 0));\r
+\r
+ add(left, BorderLayout.CENTER);\r
+ add(right, BorderLayout.EAST);\r
+ setPreferredSize(dim);\r
+ }\r
+\r
+ public Component getListCellRendererComponent(JList list, Object value, int index,\r
+ boolean isSelected, boolean cellHasFocus){\r
+ LRItem item = (LRItem)value;\r
+ if(item != null){\r
+ left.setText(String.valueOf(item.getLeft()));\r
+ right.setText(String.valueOf(item.getRight()));\r
+ }\r
+\r
+ if(item.getIcon() != null){\r
+ left.setIcon(item.getIcon());\r
+ }\r
+\r
+ setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
+ left.setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
+ right.setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
+ left.setForeground(isSelected ? Color.white: Color.black);\r
+ right.setForeground(isSelected ? Color.gray.brighter(): Color.gray);\r
+\r
+ return this;\r
+ }\r
+\r
+ public static class LRItem{\r
+ private Object left;\r
+ private Object right;\r
+ private Icon icon;\r
+\r
+ public LRItem(Icon icon, Object left, Object right){\r
+ this(left, right);\r
+ setIcon(icon);\r
+ }\r
+\r
+ public LRItem(Object left, Object right){\r
+ setLeft(left);\r
+ setRight(right);\r
+ }\r
+\r
+ public Icon getIcon(){\r
+ return icon;\r
+ }\r
+\r
+ public void setIcon(Icon icon){\r
+ this.icon = icon;\r
+ }\r
+\r
+ public Object getLeft(){\r
+ return left;\r
+ }\r
+\r
+ public void setLeft(Object left){\r
+ this.left = left;\r
+ }\r
+\r
+ public Object getRight(){\r
+ return right;\r
+ }\r
+\r
+ public void setRight(Object right){\r
+ this.right = right;\r
+ }\r
+ }\r
+}
\ No newline at end of file
*/\r
\r
import java.awt.BorderLayout;\r
-import java.awt.Color;\r
-import java.awt.Component;\r
import java.awt.Dimension;\r
import java.awt.FlowLayout;\r
import java.awt.GridLayout;\r
-import java.awt.SystemColor;\r
import java.io.IOException;\r
import java.io.PrintWriter;\r
\r
import javax.swing.JButton;\r
import javax.swing.JComboBox;\r
import javax.swing.JLabel;\r
-import javax.swing.JList;\r
import javax.swing.JPanel;\r
import javax.swing.JScrollPane;\r
import javax.swing.JSplitPane;\r
import javax.swing.JTree;\r
-import javax.swing.ListCellRenderer;\r
import javax.swing.border.TitledBorder;\r
\r
import jp.naist.se.stigmata.BirthmarkSet;\r
label.setBorder(BorderFactory.createTitledBorder(Messages.getString("result.border")));\r
JComboBox combo = new JComboBox();\r
for(ComparisonPairElement elem : pair){\r
- combo.addItem(elem);\r
+ combo.addItem(new ClippedLRListCellRenderer.LRItem(elem.getType(), elem.getSimilarity()));\r
}\r
- combo.setRenderer(new ComparisonPairElementRenderer(new Dimension(100, combo.getPreferredSize().height), 50));\r
+ combo.setRenderer(new ClippedLRListCellRenderer(new Dimension(100, combo.getPreferredSize().height), 50));\r
combo.setBorder(BorderFactory.createTitledBorder(Messages.getString("eachbirthmarksimilarity.border")));\r
similarityPanel.add(label);\r
similarityPanel.add(combo);\r
\r
return panel;\r
}\r
-\r
- /**\r
- * copy from tempura memo available at\r
- * http://terai.xrea.jp/Swing/ClippedLRComboBox.html\r
- */\r
- private static class ComparisonPairElementRenderer extends JPanel implements ListCellRenderer{\r
- private static final long serialVersionUID = 32943674625674235L;\r
- private final JLabel left = new JLabel();\r
-\r
- private final JLabel right = new JLabel();\r
-\r
- public ComparisonPairElementRenderer(Dimension dim, int rightWidth){\r
- super(new BorderLayout());\r
- setOpaque(true);\r
- left.setOpaque(true);\r
- right.setOpaque(true);\r
- left.setBorder(BorderFactory.createEmptyBorder(0, 2, 0, 0));\r
- right.setBorder(BorderFactory.createEmptyBorder(0, 5, 0, 0));\r
- right.setPreferredSize(new Dimension(rightWidth, 0));\r
- add(left, BorderLayout.CENTER);\r
- add(right, BorderLayout.EAST);\r
- setPreferredSize(dim);\r
- }\r
-\r
- public Component getListCellRendererComponent(JList list, Object value, int index,\r
- boolean isSelected, boolean cellHasFocus){\r
- ComparisonPairElement elem = (ComparisonPairElement)value;\r
- if(elem != null){\r
- left.setText(elem.getType());\r
- right.setText(Double.toString(elem.getSimilarity()));\r
- }\r
-\r
- setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
- left.setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
- right.setBackground(isSelected ? SystemColor.textHighlight: Color.white);\r
- left.setForeground(isSelected ? Color.white: Color.black);\r
- right.setForeground(isSelected ? Color.gray.brighter(): Color.gray);\r
-\r
- return this;\r
- }\r
- }\r
}\r