OSDN Git Service

move to top level class and rename it (Renderer)
authortama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Tue, 10 Jul 2007 09:27:04 +0000 (09:27 +0000)
committertama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Tue, 10 Jul 2007 09:27:04 +0000 (09:27 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@159 acee48c3-7b26-0410-bdac-b3d0e5314bbc

src/main/java/jp/naist/se/stigmata/ui/swing/ClippedLRListCellRenderer.java [new file with mode: 0755]
src/main/java/jp/naist/se/stigmata/ui/swing/PairComparisonPane.java

diff --git a/src/main/java/jp/naist/se/stigmata/ui/swing/ClippedLRListCellRenderer.java b/src/main/java/jp/naist/se/stigmata/ui/swing/ClippedLRListCellRenderer.java
new file mode 100755 (executable)
index 0000000..b0531f3
--- /dev/null
@@ -0,0 +1,106 @@
+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
index 96b7bfd..cf3932a 100644 (file)
@@ -5,12 +5,9 @@ package jp.naist.se.stigmata.ui.swing;
  */\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
@@ -19,12 +16,10 @@ import javax.swing.BoxLayout;
 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
@@ -68,9 +63,9 @@ public class PairComparisonPane extends JPanel{
         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
@@ -123,45 +118,4 @@ public class PairComparisonPane extends JPanel{
 \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