OSDN Git Service

478028033df004495cade4914dfd48dda736650a
[hayashilib/hayashi.git] / src / hayashi / yuu / tools / properties / PropertyCheckItem.java
1 package hayashi.yuu.tools.properties;\r
2 \r
3 import java.awt.Dimension;\r
4 import java.awt.event.ActionEvent;\r
5 import javax.swing.JCheckBox;\r
6 import javax.swing.JLabel;\r
7 \r
8 \r
9 @SuppressWarnings("serial")\r
10 public class PropertyCheckItem extends hayashi.yuu.tools.properties.PropertyItem {\r
11 \r
12         public PropertyCheckItem(hayashi.yuu.tools.properties.Properties prop, String name, String title, boolean value, boolean editable) {\r
13                 super(prop, name, title);\r
14                 field = new JCheckBox(title, Boolean.parseBoolean(prop.getProperty(name, "false")));\r
15                 ((JCheckBox)field).addActionListener(this);\r
16                 createItem(name, title, prop.getProperty(name), editable);\r
17         }\r
18 \r
19         @Override\r
20         void setupField(String name, String value, boolean editable) {\r
21                 this.value = value;\r
22                 ((JCheckBox)field).setSelected(Boolean.valueOf(value));\r
23                 if (!editable) {\r
24                         field.setEnabled(editable);\r
25                 }\r
26                 add(field);\r
27         }\r
28         \r
29         public boolean isSelected() {\r
30                 return ((JCheckBox)field).isSelected();\r
31         }\r
32         \r
33         @Override\r
34         JLabel setupLabel(String name, String value) {\r
35                 label = new JLabel(name, JLabel.RIGHT);\r
36                 //add(label);\r
37                 return label;\r
38         }\r
39 \r
40         @Override\r
41         void createItem(String name, String title, String value, boolean editable) {\r
42                 setupLabel(title, value);\r
43                 setupField(title, value, editable);\r
44                 \r
45                 //label.setBounds(0, 0, ITEM_WIDTH_1 - 6, LINE_HEIGHT);\r
46                 field.setBounds(ITEM_WIDTH_1, 0, ITEM_WIDTH_2, LINE_HEIGHT);\r
47                 setPreferredSize(new Dimension(ITEM_WIDTH_1, LINE_HEIGHT));\r
48         }\r
49         \r
50         @Override\r
51         public void actionPerformed(ActionEvent e) {\r
52                 this.value = Boolean.toString(((JCheckBox)field).isSelected());\r
53                 logger.info("[反映] "+ propertyName +" = "+ this.value);\r
54                 this.prop.setProperty(propertyName, this.value);\r
55         }\r
56 }\r