1 7 8 package com.memoire.vainstall.builder.gui; 9 10 import com.memoire.vainstall.VAGlobals; 11 import com.memoire.vainstall.builder.*; 12 import com.memoire.vainstall.builder.util.VAIImageFileFilter; 13 14 import java.awt.*; 15 import java.awt.event.*; 16 17 import java.io.File ; 18 19 import javax.swing.*; 20 import javax.swing.border.*; 21 22 35 public class ProductVisualPanel extends JPanel implements FocusListener, ItemListener, ActionListener { 36 37 private VAIProductModel model; 38 39 private final static Border loweredBorder = new SoftBevelBorder(BevelBorder.LOWERED); 40 41 JTextField bannerImageField; 42 JButton bannerImageButton; 43 44 JComboBox uiInstallerBox; 45 46 JCheckBox blueScreenBox; 47 JTextField blueScreenField; 48 49 public ProductVisualPanel() { 50 51 setBorder(loweredBorder); 52 53 GridBagLayout layout = new GridBagLayout(); 54 setLayout(layout); 55 56 GridBagConstraints contraint=new GridBagConstraints(); 57 58 68 JLabel bannerImageLabel = new JLabel(); 70 bannerImageLabel.setText("Banner Image:"); 71 contraint.fill = GridBagConstraints.HORIZONTAL; 72 contraint.insets = new Insets(16,16,0,16); 73 contraint.anchor = GridBagConstraints.WEST; 74 contraint.gridx = 0; 75 contraint.gridy = 0; 76 contraint.gridwidth = 3; 77 contraint.gridheight = 1; 78 contraint.weightx = 0; 79 contraint.weighty = 0; 80 layout.setConstraints(bannerImageLabel,contraint); 81 add(bannerImageLabel); 82 83 bannerImageField = new JTextField(); 84 bannerImageField.setEditable(false); 85 contraint.fill = GridBagConstraints.HORIZONTAL; 86 contraint.insets = new Insets(4,16,0,8); 87 contraint.anchor = GridBagConstraints.CENTER; 88 contraint.gridx = 0; 89 contraint.gridy = 1; 90 contraint.gridwidth = 2; 91 contraint.gridheight = 1; 92 contraint.weightx = 1; 93 contraint.weighty = 0; 94 layout.setConstraints(bannerImageField,contraint); 95 add(bannerImageField); 96 97 bannerImageButton = new JButton(); 98 bannerImageButton.setText("Change"); 100 bannerImageButton.setMnemonic('C'); 101 contraint.fill = GridBagConstraints.BOTH; 102 contraint.insets = new Insets(4,0,0,16); 103 contraint.anchor = GridBagConstraints.CENTER; 104 contraint.gridx = 2; 105 contraint.gridy = 1; 106 contraint.gridwidth = 1; 107 contraint.gridheight = 1; 108 contraint.weightx = 0; 109 contraint.weighty = 0; 110 layout.setConstraints(bannerImageButton,contraint); 111 add(bannerImageButton); 112 113 JLabel uiInstallerLabel = new JLabel(); 115 uiInstallerLabel.setText("UI during Installation:"); 116 contraint.fill = GridBagConstraints.NONE; 117 contraint.insets = new Insets(32,16,0,8); 118 contraint.anchor = GridBagConstraints.WEST; 119 contraint.gridx = 0; 120 contraint.gridy = 2; 121 contraint.gridwidth = 1; 122 contraint.gridheight = 1; 123 contraint.weightx = 0; 124 contraint.weighty = 0; 125 layout.setConstraints(uiInstallerLabel,contraint); 126 add(uiInstallerLabel); 127 128 uiInstallerBox = new JComboBox(); 129 uiInstallerBox.addItem("graphic"); 130 uiInstallerBox.addItem("xtra"); 131 uiInstallerBox.addItem("text"); 132 uiInstallerBox.addItem("ansi"); 133 uiInstallerBox.setSelectedIndex(0); 134 contraint.fill=GridBagConstraints.HORIZONTAL; 135 contraint.insets=new Insets(32,16,0,8); 136 contraint.anchor=GridBagConstraints.WEST; 137 contraint.gridx=1; 138 contraint.gridy=2; 139 contraint.gridwidth=1; 140 contraint.gridheight=1; 141 contraint.weightx=0; 142 contraint.weighty=0; 143 layout.setConstraints(uiInstallerBox,contraint); 144 add(uiInstallerBox); 145 146 blueScreenBox = new JCheckBox(); 147 blueScreenBox.setText("Use Blue Screen during install"); 148 contraint.fill = GridBagConstraints.HORIZONTAL; 149 contraint.insets = new Insets(32,16,0,16); 150 contraint.anchor = GridBagConstraints.WEST; 151 contraint.gridx = 0; 152 contraint.gridy = 4; 153 contraint.gridwidth = 3; 154 contraint.gridheight = 1; 155 contraint.weightx = 0; 156 contraint.weighty = 0; 157 layout.setConstraints(blueScreenBox,contraint); 158 add(blueScreenBox); 159 160 JLabel blueScreenLabel = new JLabel(); 161 blueScreenLabel.setText("Colour (FFFFFF = white) :"); 162 contraint.fill = GridBagConstraints.HORIZONTAL; 163 contraint.insets = new Insets(4,16,0,16); 164 contraint.anchor = GridBagConstraints.WEST; 165 contraint.gridx = 0; 166 contraint.gridy = 5; 167 contraint.gridwidth = 1; 168 contraint.gridheight = 1; 169 contraint.weightx = 0; 170 contraint.weighty = 0; 171 layout.setConstraints(blueScreenLabel,contraint); 172 add(blueScreenLabel); 173 174 blueScreenField = new JTextField(); 175 blueScreenField.setEditable(false); 176 contraint.fill = GridBagConstraints.HORIZONTAL; 177 contraint.insets = new Insets(4,16,0,8); 178 contraint.anchor = GridBagConstraints.WEST; 179 contraint.gridx = 1; 180 contraint.gridy = 5; 181 contraint.gridwidth = 1; 182 contraint.gridheight = 1; 183 contraint.weightx = 0; 184 contraint.weighty = 0; 185 layout.setConstraints(blueScreenField,contraint); 186 add(blueScreenField); 187 188 JPanel fillPanel = new JPanel(); 189 contraint.fill = GridBagConstraints.BOTH; 190 contraint.insets = new Insets(4,4,4,4); 191 contraint.anchor = GridBagConstraints.CENTER; 192 contraint.gridx = 0; 193 contraint.gridy = 6; 194 contraint.gridwidth = 1; 195 contraint.gridheight = 1; 196 contraint.weightx = 0; 197 contraint.weighty = 1; 198 layout.setConstraints(fillPanel,contraint); 199 add(fillPanel); 200 201 } 202 203 204 207 public void save() { 208 } 209 210 213 public void initialize(VAIProductModel model) { 214 this.model = model; 215 216 if(model.getPropertyList().containsKey("vainstall.installer.ui.bluescreen") == true) { 217 if (model.getProperty("vainstall.installer.ui.bluescreen").equals("yes") == true) { 218 blueScreenBox.setSelected(true); 219 if (model.getProperty("vainstall.installer.ui.bluescreen.colour") != null) { 220 blueScreenField.setText(model.getProperty("vainstall.installer.ui.bluescreen.colour")); 221 } 222 } 223 blueScreenField.setEditable(true); 224 } 225 226 blueScreenBox.addItemListener(this); 227 uiInstallerBox.addItemListener(this); 228 if (model.getProperty("vainstall.installer.ui.mode") == null) { 229 uiInstallerBox.setSelectedIndex(0); 230 } else { 231 uiInstallerBox.setSelectedItem(model.getProperty("vainstall.installer.ui.mode")); 232 } 233 234 blueScreenField.addFocusListener(this); 235 236 bannerImageButton.addActionListener(this); 237 if (model.getProperty("vainstall.installer.ui.banner") != null) { 238 bannerImageField.setText(model.getProperty("vainstall.installer.ui.banner")); 239 } 240 } 241 242 245 public void stop() { 246 } 247 248 public void focusGained(FocusEvent evt) { 249 } 250 251 public void focusLost(FocusEvent evt) { 252 253 if (evt.getSource() == blueScreenField) { 254 model.putProperty("vainstall.installer.ui.bluescreen.colour",blueScreenField.getText()); 256 } 257 } 258 259 public void itemStateChanged(ItemEvent evt) { 260 if (evt.getItem() == blueScreenBox) { 261 if (blueScreenBox.isSelected() == true) { 262 blueScreenField.setEditable(true); 263 blueScreenField.requestFocus(); 264 265 model.putProperty("vainstall.installer.ui.bluescreen","yes"); 266 } else { 267 blueScreenField.setText(""); 268 blueScreenField.setEditable(false); 269 270 model.removeProperty("vainstall.installer.ui.bluescreen"); 271 model.removeProperty("vainstall.installer.ui.bluescreen.colour"); 272 } 273 } 274 275 if (evt.getSource() == uiInstallerBox && evt.getStateChange() == ItemEvent.SELECTED) { 276 JComboBox box = (JComboBox)evt.getSource(); 277 model.putProperty("vainstall.installer.ui.mode",(String )box.getSelectedItem()); 278 } 279 } 280 281 public void actionPerformed(ActionEvent evt) { 282 283 if (evt.getSource() == bannerImageButton) { 284 285 JFileChooser jfc = new JFileChooser(); 286 jfc.setDialogType(JFileChooser.OPEN_DIALOG); 287 jfc.setFileSelectionMode(JFileChooser.FILES_ONLY); 288 289 String rootDirectory = (String )model.getPropertyList().get("vainstall.user.dir"); 290 if (rootDirectory == null) { 291 rootDirectory = System.getProperty("user.dir"); 292 } 293 294 jfc.setCurrentDirectory(new File (rootDirectory)); 295 296 jfc.setAcceptAllFileFilterUsed(false); 298 VAIImageFileFilter filter = new VAIImageFileFilter(); 299 jfc.addChoosableFileFilter(filter); 300 301 int result = jfc.showDialog(null,"Select Image"); 302 if (result == JFileChooser.APPROVE_OPTION) { 303 bannerImageField.setText(jfc.getSelectedFile().getAbsolutePath()); 304 305 model.putProperty("vainstall.installer.ui.banner",jfc.getSelectedFile().getAbsolutePath()); 306 307 model.getPropertyList().put("vainstall.user.dir",jfc.getCurrentDirectory().getAbsolutePath()); 309 } 310 } 311 312 } 313 } 314 | Popular Tags |