import ch.psi.pshell.device.Device; import ch.psi.pshell.device.DeviceBase.DeviceInvalidParameterException; import ch.psi.pshell.plot.LinePlotSeries; import ch.psi.pshell.swing.DevicePanel; import ch.psi.pshell.swing.ValueSelection; import ch.psi.pshell.swing.SwingUtils; import java.awt.Component; import java.io.IOException; import java.util.HashMap; import java.util.Map; import java.util.logging.Level; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; /** * */ public final class ScientaParametersPanel extends DevicePanel { LinePlotSeries spectrumSeries; public ScientaParametersPanel() { initComponents(); spectrumSeries = new LinePlotSeries("intensity"); SwingUtils.setEnumCombo(comboLens, Scienta.LensMode.class); SwingUtils.setEnumCombo(comboElement, Scienta.ElementSet.class); SwingUtils.setEnumCombo(comboAcquisition, Scienta.AcquisitionMode.class); SwingUtils.setEnumCombo(comboEnergy, Scienta.EnergyMode.class); SwingUtils.setEnumCombo(comboDetector, Scienta.DetectorMode.class); DefaultComboBoxModel model = new DefaultComboBoxModel(); for (Integer energy : Scienta.PASS_ENERGY_VALUES) { model.addElement(energy); } comboPass.setModel(model); valueTime.addListener((ValueSelection origin, double value, boolean editing) -> { if (editing) { try{ int val_ms = (int) (((Double) value) * 1000); getDevice().checkTimeValue(val_ms); } catch (Exception ex) { showException(ex); } } }); } @Override public Scienta getDevice() { return (Scienta) super.getDevice(); } @Override public void setDevice(Device device) { super.setDevice(device); if (device != null) { startBackgroundUpdate(); } } public class DeviceData { double[] spectrum; Scienta.LensMode lensMode; Scienta.ElementSet elementSet; Scienta.AcquisitionMode acquisitionMode; Scienta.EnergyMode energyMode; Scienta.DetectorMode detectorMode; Integer pass; double low; double center; double high; double width; //int frames; double time; double size; int slices; int iterations; } @Override protected DeviceData doBackgroundUpdate() throws IOException, InterruptedException { DeviceData dd = new DeviceData(); //read-once dd.spectrum = getDevice().getSpectrum().getValue(); try{ dd.lensMode = getDevice().getLensMode(); } catch (DeviceInvalidParameterException ex){ dd.lensMode = null; } try{ dd.elementSet = getDevice().getElementSet(); } catch (DeviceInvalidParameterException ex){ dd.elementSet = null; } try{ dd.acquisitionMode = getDevice().getAcquisitionMode(); } catch (DeviceInvalidParameterException ex){ dd.acquisitionMode = null; } try{ dd.energyMode = getDevice().getEnergyMode(); } catch (DeviceInvalidParameterException ex){ dd.energyMode = null; } try{ dd.detectorMode = getDevice().getDetectorMode(); } catch (DeviceInvalidParameterException ex){ dd.detectorMode = null; } try{ dd.pass = getDevice().getPassEnergy(); } catch (DeviceInvalidParameterException ex){ dd.pass = null; } dd.low = getDevice().getLowEnergy().getValue(); dd.center = getDevice().getCenterEnergy().getValue(); dd.high = getDevice().getHighEnergy().getValue(); dd.width = getDevice().getEnergyWidth().getValue(); //dd.frames = getDevice().getFrames().getValue(); dd.time = getDevice().getStepTime().getValue(); dd.size = getDevice().getStepSize().getValue(); dd.slices = getDevice().getSlices().getValue(); dd.iterations = getDevice().getIterations(); return dd; } void updateValueField(ValueSelection field, double value) { try { field.setValue(value); } catch (Exception ex) { getLogger().log(Level.FINE, null, ex); } } void updateComboField(JComboBox field, Object value) { try { if (field.getSelectedItem() != value) { field.setSelectedItem(value); } } catch (Exception ex) { getLogger().log(Level.FINE, null, ex); } } @Override protected void onBackgroundUpdateFinished(Object data) { DeviceData dd = (DeviceData) data; updateValueField(valueLow, dd.low); updateValueField(valueCenter, dd.center); updateValueField(valueHigh, dd.high); updateValueField(valueTime, dd.time); updateValueField(valueSize, dd.size); updateValueField(valueSlices, dd.slices); updateValueField(valueIterations, dd.iterations); updateComboField(comboLens, dd.lensMode); updateComboField(comboAcquisition, dd.acquisitionMode); updateComboField(comboDetector, dd.detectorMode); updateComboField(comboEnergy, dd.energyMode); updateComboField(comboElement, dd.elementSet); updateComboField(comboPass, dd.pass); } public void setValues(Map values){ for (String name:values.keySet()){ try{ Component child = SwingUtils.getComponentByName(root, name); if (child!=null){ Object value = values.get(name); //if (value!=null){ if (child instanceof JComboBox){ if (value instanceof String){ if (((String)value).isBlank()){ continue; } Class comboClass = ((JComboBox)child).getModel().getElementAt(0).getClass(); if (comboClass.isEnum()){ value = Enum.valueOf(comboClass, (String)value); } } ((JComboBox)child).setSelectedItem(value); } else if (child instanceof ValueSelection){ if (value!=null){ ((ValueSelection)child).setValue((Double)value); } } //} } } catch (Exception ex){ getLogger().log(Level.WARNING, null, ex); } } } public Map getValues(){ HashMap ret = new HashMap(); for (Component child : SwingUtils.getComponentsByType(root, JComboBox.class)){ if ((child.getName()!=null) && (!child.getName().isBlank())){ ret.put(child.getName(), ((JComboBox)child).getSelectedItem()); } } for (Component child : SwingUtils.getComponentsByType(root, ValueSelection.class)){ if ((child.getName()!=null) && (!child.getName().isBlank())){ ret.put(child.getName(), ((ValueSelection)child).getValue()); } } return ret; } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT * modify this code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { jToggleButton1 = new javax.swing.JToggleButton(); root = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); comboLens = new javax.swing.JComboBox(); jLabel2 = new javax.swing.JLabel(); comboAcquisition = new javax.swing.JComboBox(); jLabel3 = new javax.swing.JLabel(); comboEnergy = new javax.swing.JComboBox(); jLabel4 = new javax.swing.JLabel(); comboDetector = new javax.swing.JComboBox(); jLabel5 = new javax.swing.JLabel(); comboElement = new javax.swing.JComboBox(); jPanel4 = new javax.swing.JPanel(); jLabel11 = new javax.swing.JLabel(); comboPass = new javax.swing.JComboBox(); jLabel12 = new javax.swing.JLabel(); valueLow = new ch.psi.pshell.swing.ValueSelection(); jLabel13 = new javax.swing.JLabel(); valueCenter = new ch.psi.pshell.swing.ValueSelection(); jLabel14 = new javax.swing.JLabel(); valueHigh = new ch.psi.pshell.swing.ValueSelection(); jPanel2 = new javax.swing.JPanel(); jLabel8 = new javax.swing.JLabel(); valueTime = new ch.psi.pshell.swing.ValueSelection(); jLabel9 = new javax.swing.JLabel(); valueSize = new ch.psi.pshell.swing.ValueSelection(); jLabel10 = new javax.swing.JLabel(); valueSlices = new ch.psi.pshell.swing.ValueSelection(); jLabel17 = new javax.swing.JLabel(); valueIterations = new ch.psi.pshell.swing.ValueSelection(); jToggleButton1.setText("jToggleButton1"); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Modes")); jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel1.setText("Lens:"); comboLens.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboLens.setName("scienta.lensMode"); // NOI18N jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel2.setText("Acquisition:"); comboAcquisition.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboAcquisition.setName("scienta.acquisitionMode"); // NOI18N jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel3.setText("Energy:"); comboEnergy.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboEnergy.setName("scienta.energyMode"); // NOI18N jLabel4.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel4.setText("Detector:"); comboDetector.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboDetector.setName("scienta.detectorMode"); // NOI18N jLabel5.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel5.setText("Element:"); comboElement.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboElement.setName("scienta.elementSet"); // NOI18N javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addComponent(jLabel4) .addComponent(jLabel3) .addComponent(jLabel2) .addComponent(jLabel1)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboElement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboDetector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel1, jLabel2, jLabel3, jLabel4, jLabel5}); jPanel1Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboAcquisition, comboDetector, comboElement, comboEnergy, comboLens}); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel1) .addComponent(comboLens, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel2) .addComponent(comboAcquisition, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3) .addComponent(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel4) .addComponent(comboDetector, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5) .addComponent(comboElement, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(17, Short.MAX_VALUE)) ); jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Energy")); jLabel11.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel11.setText("Pass:"); comboPass.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "2", "5", "10", "20", "50", "100", "200" })); comboPass.setToolTipText(""); comboPass.setName("scienta.passEnergy"); // NOI18N jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel12.setText("Low:"); valueLow.setDecimals(2); valueLow.setMaxValue(2000.0); valueLow.setMinValue(0.0); valueLow.setName("scienta.lowEnergy"); // NOI18N valueLow.setShowButtons(false); jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel13.setText("Center:"); valueCenter.setDecimals(2); valueCenter.setMaxValue(2000.0); valueCenter.setMinValue(0.0); valueCenter.setName("scienta.centerEnergy"); // NOI18N valueCenter.setShowButtons(false); jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel14.setText("High:"); valueHigh.setDecimals(2); valueHigh.setMaxValue(2000.0); valueHigh.setMinValue(0.0); valueHigh.setName("scienta.highEnergy"); // NOI18N valueHigh.setShowButtons(false); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel14) .addComponent(jLabel13) .addComponent(jLabel12) .addComponent(jLabel11)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {comboPass, valueCenter, valueHigh, valueLow}); jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel11, jLabel12, jLabel13, jLabel14}); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel11) .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel12) .addComponent(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel13) .addComponent(valueCenter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel14) .addComponent(valueHigh, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(43, Short.MAX_VALUE)) ); jPanel2.setBorder(javax.swing.BorderFactory.createTitledBorder("Step")); jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel8.setText("Time:"); valueTime.setDecimals(2); valueTime.setMaxValue(1000.0); valueTime.setMinValue(0.0); valueTime.setName("scienta.stepTime"); // NOI18N valueTime.setShowButtons(false); jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel9.setText("Size:"); valueSize.setDecimals(2); valueSize.setMaxValue(1000.0); valueSize.setMinValue(0.0); valueSize.setName("scienta.stepSize"); // NOI18N valueSize.setShowButtons(false); jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel10.setText("Slices:"); valueSlices.setDecimals(0); valueSlices.setMaxValue(1000.0); valueSlices.setMinValue(0.0); valueSlices.setName("scienta.slices"); // NOI18N valueSlices.setShowButtons(false); jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel17.setText("Iter:"); valueIterations.setDecimals(0); valueIterations.setMaxValue(1000.0); valueIterations.setMinValue(0.0); valueIterations.setName("scienta.iterations"); // NOI18N valueIterations.setShowButtons(false); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel9) .addComponent(jLabel8)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(valueSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addComponent(jLabel10) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel2Layout.createSequentialGroup() .addComponent(jLabel17) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))) .addContainerGap()) ); jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel17, jLabel8, jLabel9}); jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueIterations, valueSize, valueSlices, valueTime}); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel2Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel10) .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel8) .addComponent(valueTime, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel9) .addComponent(valueSize, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel17) .addComponent(valueIterations, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); javax.swing.GroupLayout rootLayout = new javax.swing.GroupLayout(root); root.setLayout(rootLayout); rootLayout.setHorizontalGroup( rootLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(rootLayout.createSequentialGroup() .addGap(0, 0, 0) .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) ); rootLayout.setVerticalGroup( rootLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(rootLayout.createSequentialGroup() .addGap(0, 0, 0) .addGroup(rootLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(0, 0, 0)) ); rootLayout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jPanel1, jPanel4}); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(root, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(root, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); }// //GEN-END:initComponents // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox comboAcquisition; private javax.swing.JComboBox comboDetector; private javax.swing.JComboBox comboElement; private javax.swing.JComboBox comboEnergy; private javax.swing.JComboBox comboLens; private javax.swing.JComboBox comboPass; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel12; private javax.swing.JLabel jLabel13; private javax.swing.JLabel jLabel14; private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel4; private javax.swing.JToggleButton jToggleButton1; private javax.swing.JPanel root; private ch.psi.pshell.swing.ValueSelection valueCenter; private ch.psi.pshell.swing.ValueSelection valueHigh; private ch.psi.pshell.swing.ValueSelection valueIterations; private ch.psi.pshell.swing.ValueSelection valueLow; private ch.psi.pshell.swing.ValueSelection valueSize; private ch.psi.pshell.swing.ValueSelection valueSlices; private ch.psi.pshell.swing.ValueSelection valueTime; // End of variables declaration//GEN-END:variables }