1 19 20 package org.lucane.client.util; 21 22 import java.awt.*; 23 import javax.swing.*; 24 25 import org.lucane.client.LocalConfig; 26 27 30 public class WidgetState 31 { 32 39 private static String getKey(Component component, String property) 40 { 41 String name = (component != null) ? component.getName() : "null"; 42 return "widget-" + name + "-" + property; 43 } 44 45 51 public static void save(LocalConfig config, Object widget) 52 { 53 if(widget instanceof JFrame) 54 save(config, (JFrame)widget); 55 else if(widget instanceof Window) 56 save(config, (Window)widget); 57 else if(widget instanceof JSlider) 58 save(config, (JSlider)widget); 59 else if(widget instanceof JSplitPane) 60 save(config, (JSplitPane)widget); 61 } 62 63 69 public static void restore(LocalConfig config, Object widget) 70 { 71 if(widget instanceof JFrame) 72 restore(config, (JFrame)widget); 73 else if(widget instanceof Window) 74 restore(config, (Window)widget); 75 else if(widget instanceof JSlider) 76 restore(config, (JSlider)widget); 77 else if(widget instanceof JSplitPane) 78 restore(config, (JSplitPane)widget); 79 } 80 81 87 public static void save(LocalConfig config, Window window) 88 { 89 config.set(getKey(window, "saved"), "true"); 90 config.set(getKey(window, "location.x"), window.getLocation().x); 91 config.set(getKey(window, "location.y"), window.getLocation().y); 92 config.set(getKey(window, "height"), window.getHeight()); 93 config.set(getKey(window, "width"), window.getWidth()); 94 } 95 96 102 public static void restore(LocalConfig config, Window window) 103 { 104 String saved = config.get(getKey(window, "saved")); 105 if(saved == null) 106 return; 107 108 int x = config.getInt(getKey(window, "location.x")); 109 int y = config.getInt(getKey(window, "location.y")); 110 window.setLocation(x, y); 111 112 int height = config.getInt(getKey(window, "height")); 113 int width = config.getInt(getKey(window, "width")); 114 window.setSize(width, height); 115 } 116 117 123 public static void save(LocalConfig config, JFrame frame) 124 { 125 save(config, (Window)frame); 126 config.set(getKey(frame, "extended"), frame.getExtendedState()); 127 } 128 129 135 public static void restore(LocalConfig config, JFrame frame) 136 { 137 String saved = config.get(getKey(frame, "saved")); 138 if(saved == null) 139 return; 140 141 restore(config, (Window)frame); 142 frame.setExtendedState(config.getInt(getKey(frame, "extended"))); 143 } 144 145 151 public static void save(LocalConfig config, JSlider slider) 152 { 153 config.set(getKey(slider, "saved"), "true"); 154 config.set(getKey(slider, "value"), slider.getValue()); 155 } 156 157 163 public static void restore(LocalConfig config, JSlider slider) 164 { 165 String saved = config.get(getKey(slider, "saved")); 166 if(saved == null) 167 return; 168 169 slider.setValue(config.getInt(getKey(slider, "value"))); 170 } 171 172 178 public static void save(LocalConfig config, JSplitPane split) 179 { 180 config.set(getKey(split, "saved"), "true"); 181 config.set(getKey(split, "dividerLocation"), split.getDividerLocation()); 182 } 183 184 190 public static void restore(LocalConfig config, JSplitPane split) 191 { 192 String saved = config.get(getKey(split, "saved")); 193 if(saved == null) 194 return; 195 196 split.setDividerLocation(config.getInt(getKey(split, "dividerLocation"))); 197 } 198 } | Popular Tags |