View Javadoc

1   package org.catacomb.druid.swing;
2   
3   
4   
5   import org.catacomb.interlish.content.NVPair;
6   import org.catacomb.report.E;
7   
8   import java.awt.BorderLayout;
9   import java.awt.Color;
10  import java.awt.Component;
11  import java.awt.Font;
12  
13  import javax.swing.JLabel;
14  import javax.swing.JList;
15  import javax.swing.JPanel;
16  import javax.swing.JTextField;
17  
18  
19  import java.awt.Dimension;
20  
21  public class DListQuantityRenderer extends JPanel implements DListCellRenderer {
22  
23      static final long serialVersionUID = 1001;
24  
25      JTextField quantityTF;
26      JLabel quantityLabel;
27      JLabel nameLabel;
28      Color csel = new Color(0xb8, 0xcf, 0xe5);
29  
30      public DListQuantityRenderer() {
31          //   setLayout(new FlowLayout(FlowLayout.LEFT, 4, 2));
32  
33          setLayout(new BorderLayout(2, 2));
34  
35          Font plainfont = new Font("sansserif", Font.PLAIN, 12);
36  
37  //     quantityTF = new JTextField(12);
38  //     quantityTF.setEditable(true);
39          quantityLabel = new JLabel();
40          quantityLabel.setPreferredSize(new Dimension(60, 18));
41          nameLabel = new JLabel();
42  //      nameLabel.setOpaque(true);
43          nameLabel.setFont(plainfont);
44  
45  
46  
47          add("West", quantityLabel);
48          add("Center", nameLabel);
49  
50  
51          /*
52          Color borderC = new Color(0xa0a0a0);
53  
54          colorPanel.setBorder(BorderFactory.createLineBorder(borderC));
55  
56          colorLabel.setBorder(BorderFactory.createCompoundBorder(
57                                                 BorderFactory.createEmptyBorder(4, 4, 4, 4),
58                                                 BorderFactory.createLineBorder(borderC)));
59          */
60  
61      }
62  
63  
64  
65      public Component getListCellRendererComponent(JList list, Object value, int index,
66              boolean isSelected, boolean cellHasFocus) {
67  
68          if (value instanceof NVPair) {
69              NVPair nvp = (NVPair)value;
70              //  quantityTF.setText(nvp.getSValue());
71              quantityLabel.setText(nvp.getSValue());
72              nameLabel.setText(nvp.getName());
73  
74          } else {
75              E.error("cant render " + value);
76          }
77  
78          Color cbg = (isSelected ? csel : list.getBackground());
79  //      Color cfg = (isSelected ? list.getSelectionForeground() : list.getForeground());
80  
81          setBackground(cbg);
82          nameLabel.setBackground(cbg);
83          quantityLabel.setBackground(cbg);
84          return this;
85      }
86  
87  
88  }