1 package hayashi.yuu.tools.properties;
\r
3 import hayashi.yuu.tools.logger.LoggerFactory;
\r
4 import hayashi.yuu.tools.properties.Properties;
\r
5 import java.awt.Dimension;
\r
6 import java.awt.event.ActionEvent;
\r
7 import java.awt.event.ActionListener;
\r
8 import java.util.logging.Logger;
\r
10 import javax.swing.JComponent;
\r
11 import javax.swing.JLabel;
\r
12 import javax.swing.JPanel;
\r
17 * @version 2010/02/07
\r
20 @SuppressWarnings("serial")
\r
21 public abstract class PropertyItem extends JPanel implements ActionListener {
\r
22 hayashi.yuu.tools.properties.Properties prop;
\r
23 String propertyName;
\r
28 public static final int ITEM_WIDTH_1 = 160;
\r
29 public static final int ITEM_WIDTH_2 = 240;
\r
30 public static final int LINE_WIDTH = ITEM_WIDTH_1 + ITEM_WIDTH_2;
\r
31 public static final int LINE_HEIGHT = 18;
\r
35 * @param prop プロパティファイル
\r
39 public PropertyItem(Properties prop, String name, String title) {
\r
41 logger = LoggerFactory.getInstance();
\r
42 this.propertyName = name;
\r
46 void createItem(String name, String title, String value, boolean editable) {
\r
47 setupLabel(title, value);
\r
48 setupField(name, value, editable);
\r
50 label.setBounds(0, 0, ITEM_WIDTH_1 - 6, LINE_HEIGHT);
\r
51 field.setBounds(ITEM_WIDTH_1, 0, ITEM_WIDTH_2, LINE_HEIGHT);
\r
52 setPreferredSize(new Dimension(ITEM_WIDTH_1, LINE_HEIGHT));
\r
55 JLabel setupLabel(String title, String value) {
\r
56 label = new JLabel(title, JLabel.RIGHT);
\r
61 public String getValue() {
\r
68 * void setupField(String name, String title, String value, boolean editable) {
\r
69 * this.value = value;
\r
70 * ((JTextField)field).setText(value);
\r
71 * field.setFont(new Font("MS UI Gothic", Font.PLAIN, 12));
\r
73 * field.setEnabled(editable);
\r
78 abstract void setupField(String name, String value, boolean editable);
\r
81 * [反映]ボタンがクリックされたときの処理
\r
83 * public void actionPerformed(ActionEvent e) {
\r
84 * System.out.println("[反映] "+ label.getText() +" = "+ text.getText());
\r
85 * prop.setProperty(label.getText(), text.getText());
\r
89 public abstract void actionPerformed(ActionEvent e);
\r