/** * For initializing the GUI. */ @Override protected void initGUI() { JPanel panel; super.initGUI(); setLayout(new BorderLayout()); m_PanelProperties = new ParameterPanel(); add(new BaseScrollPane(m_PanelProperties), BorderLayout.CENTER); m_PanelButtons = new JPanel(new BorderLayout()); add(m_PanelButtons, BorderLayout.SOUTH); panel = new JPanel(new FlowLayout(FlowLayout.LEFT)); m_PanelButtons.add(panel, BorderLayout.WEST); m_ButtonLoad = new JButton(GUIHelper.getIcon("open.gif")); m_ButtonLoad.addActionListener((ActionEvent e) -> loadProperties()); panel.add(m_ButtonLoad); m_ButtonSave = new JButton(GUIHelper.getIcon("save.gif")); m_ButtonSave.addActionListener((ActionEvent e) -> saveProperties()); panel.add(m_ButtonSave); }
clearProperties(); keys = new ArrayList<>(value.stringPropertyNames()); keys.removeAll(m_Order); keys.addAll(0, m_Order); for (String key: keys) { type = fixPropertyType(key, getPropertyType(key)); help = getHelp(key); label = hasLabel(key) ? getLabel(key) : key; addProperty(key, label, textfield); break; textfield.setText(value.getProperty(key)); textfield.setToolTipText(help); addProperty(key, label, textfield); break; case BOOLEAN: checkbox.setSelected(Boolean.parseBoolean(value.getProperty(key))); checkbox.setToolTipText(help); addProperty(key, label, checkbox); break; case INTEGER: spinner.setValue(Integer.parseInt(value.getProperty(key))); spinner.setToolTipText(help); addProperty(key, label, spinner);
for (i = 0; i < getPropertyCount(); i++) { comp = getProperty(i); key = m_Identifiers.get(i); type = getActualPropertyType(key); break; case CUSTOM_COMPONENT: result.setProperty(key, getText(comp)); break; default:
/** * Saves properties to a file, prompts the user to select props file. */ protected void saveProperties() { int retVal; Properties props; FileWriter fwriter; BufferedWriter bwriter; retVal = getFileChooser().showSaveDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; fwriter = null; bwriter = null; props = getProperties(); try { fwriter = new FileWriter(getFileChooser().getSelectedFile().getAbsolutePath()); bwriter = new BufferedWriter(fwriter); props.store(bwriter, null); } catch (Exception e) { GUIHelper.showErrorMessage(this, "Failed to save properties to: " + getFileChooser().getSelectedFile()); } finally { FileUtils.closeQuietly(bwriter); FileUtils.closeQuietly(fwriter); } }
/** * Loads properties from a file, prompts the user to select props file. */ protected void loadProperties() { int retVal; Properties props; FileReader freader; BufferedReader breader; retVal = getFileChooser().showOpenDialog(this); if (retVal != BaseFileChooser.APPROVE_OPTION) return; freader = null; breader = null; props = new Properties(); try { freader = new FileReader(getFileChooser().getSelectedFile().getAbsolutePath()); breader = new BufferedReader(freader); props.load(breader); } catch (Exception e) { GUIHelper.showErrorMessage(this, "Failed to load properties from: " + getFileChooser().getSelectedFile()); return; } finally { FileUtils.closeQuietly(breader); FileUtils.closeQuietly(freader); } setProperties(props); }