OSDN Git Service

2019-02-11
[hayashilib/hayashi.git] / src / hayashi / yuu / tools / properties / PropertySelectItem.java
1 package hayashi.yuu.tools.properties;\r
2 \r
3 import java.awt.event.ActionEvent;\r
4 import javax.swing.JComboBox;\r
5 \r
6 @SuppressWarnings("serial")\r
7 public class PropertySelectItem extends PropertyItem {\r
8 \r
9         public PropertySelectItem(hayashi.yuu.tools.properties.Properties prop, String name, String title, boolean editable, String[] items) {\r
10                 super(prop, name, title);\r
11                 field = new JComboBox();\r
12                 ((JComboBox)field).addActionListener(this);\r
13                 for (int i=0; i < items.length; i++) {\r
14                         ((JComboBox)field).addItem(items[i]);\r
15                 }\r
16                 createItem(name, title, prop.getProperty(name), editable);\r
17         }\r
18 \r
19         void setupField(String name, String value, boolean editable) {\r
20                 this.value = value;\r
21                 ((JComboBox)field).setSelectedItem(value);\r
22 \r
23                 if (!editable) {\r
24                         field.setEnabled(editable);\r
25                 }\r
26                 add(field);\r
27         }\r
28 \r
29         @Override\r
30         public void actionPerformed(ActionEvent e) {\r
31                 this.value = (String) ((JComboBox)this.field).getSelectedItem();\r
32                 logger.info("[反映] "+ propertyName +" = "+ this.value);\r
33                 prop.setProperty(propertyName, this.value);\r
34         }\r
35 }\r