package org.geotoolkit.pending.demo.swing; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import javax.swing.*; import org.geotoolkit.gui.swing.parameters.creator.JParameterDescriptorsEditor; import org.geotoolkit.gui.swing.propertyedit.JAttributeEditor; import org.geotoolkit.utility.parameter.ParametersExt; import org.opengis.parameter.GeneralParameterDescriptor; import org.opengis.parameter.ParameterDescriptorGroup; /** * @author Quentin Boileau (Geomatys) */ public class ParameterCreationDemo { public static void main(String[] args) { final ParameterDescriptorGroup descGroup = ParametersExt.createParameterDescriptorGroup("group", null, 1, 1, new ArrayList<GeneralParameterDescriptor>()); final JAttributeEditor editors = new JAttributeEditor(); System.out.println("########################## Input ParameterDescriptorGroup"); System.out.println(descGroup); final JParameterDescriptorsEditor editor = new JParameterDescriptorsEditor(descGroup, null, editors.getEditors()); final JDialog optionPaneDialog = new JDialog(); final JOptionPane optPane = new JOptionPane(editor, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION); optPane.addPropertyChangeListener(new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent e) { if (e.getPropertyName().equals("value")) { switch ((Integer) e.getNewValue()) { case JOptionPane.OK_OPTION: System.out.println("########################## New ParameterDescriptorGroup"); System.out.println(editor.getDescriptor()); optionPaneDialog.dispose(); break; case JOptionPane.CANCEL_OPTION: optionPaneDialog.dispose(); break; } } } }); optionPaneDialog.setTitle(""); optionPaneDialog.setContentPane(optPane); optionPaneDialog.pack(); optionPaneDialog.setResizable(true); optionPaneDialog.setLocationRelativeTo(null); optionPaneDialog.setModal(true); optionPaneDialog.setVisible(true); } }