import ch.psi.pshell.device.Device; import ch.psi.pshell.device.DeviceAdapter; import ch.psi.pshell.device.DeviceListener; import ch.psi.pshell.plot.LinePlotSeries; import ch.psi.pshell.plot.Plot; import ch.psi.utils.State; import ch.psi.utils.swing.SwingUtils; import java.awt.Component; import java.io.IOException; import java.util.logging.Level; import javax.swing.DefaultComboBoxModel; import javax.swing.JComboBox; import javax.swing.SwingUtilities; import ch.psi.pshell.swing.*; /** * */ public final class ScientaPanel extends DevicePanel { public ScientaPanel() { initComponents(); ValueSelection.ValueSelectionListener valueListener = (ValueSelection origin, double value, boolean editing) -> { if (editing) { try { if (origin == valueLow) { getDevice().getLowEnergy().writeAsync(value); } else if (origin == valueCenter) { getDevice().getCenterEnergy().writeAsync(value); } else if (origin == valueHigh) { getDevice().getHighEnergy().writeAsync(value); } else if (origin == valueStep) { getDevice().getEnergyStepSize().writeAsync(value); } else if (origin == valueSlices) { getDevice().getSlices().writeAsync((int) value); } else if (origin == valueChannels) { getDevice().setIterations((int) value); }/*else if (origin == valueFrames) { getDevice().getFrames().writeAsync((int) value); }*/ } catch (Exception ex) { showException(ex); } } }; for (Component vs : SwingUtils.getComponentsByType(this, ValueSelection.class)) { if (((ValueSelection) vs).isEnabled()) { ((ValueSelection) vs).addListener(valueListener); } } 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); } public boolean getShowCameraPanel() { return cameraPanel.isVisible(); } public void setShowCameraPanel(boolean value) { cameraPanel.setVisible(value); } @Override public Scienta getDevice() { return (Scienta) super.getDevice(); } @Override public void setDevice(Device device) { if (getDevice() != null) { getDevice().getCurrentStep().removeListener(progressListener); } super.setDevice(device); cameraPanel.setDevice(device); if (device == null) { stopTimer(); } else { getDevice().getCurrentStep().addListener(progressListener); //cameraPanel.startTimer(3000, 0); startTimer(3000, 0); } valueLow.setMaxValue(getDevice().getLowEnergy().getMaxValue()); valueLow.setMinValue(getDevice().getLowEnergy().getMinValue()); valueCenter.setMaxValue(getDevice().getCenterEnergy().getMaxValue()); valueCenter.setMinValue(getDevice().getCenterEnergy().getMinValue()); valueHigh.setMaxValue(getDevice().getHighEnergy().getMaxValue()); valueHigh.setMinValue(getDevice().getHighEnergy().getMinValue()); } DeviceListener progressListener = new DeviceAdapter() { @Override public void onValueChanged(final Device device, final Object value, final Object former) { SwingUtilities.invokeLater(() -> { valueCurrent.setValue((Double) value); progress.setValue((int) (getDevice().getProgress() * 1000)); }); } }; @Override protected void onHide() { super.onHide(); } @Override protected void onTimer() { startBackgroundUpdate(); } //Callbacks @Override protected void onDeviceStateChanged(State state, State former) { } @Override protected void onDeviceValueChanged(Object state, Object former) { } public class DeviceData { Scienta.LensMode lensMode; Scienta.ElementSet elementSet; Scienta.AcquisitionMode acquisitionMode; Scienta.EnergyMode energyMode; Scienta.DetectorMode detectorMode; double low; double center; double high; double step; double width; int count; double lowTY; double centerTY; double highTY; double stepTY; double widthTY; int countTY; double lowTX; double centerTX; double highTX; double stepTX; double widthTX; int countTX; int pass; int slices; int channels; double excit; String est; int current; int total; String state; String status; int imageCount; } @Override protected DeviceData doBackgroundUpdate() throws IOException, InterruptedException { DeviceData dd = new DeviceData(); try{ //read-once dd.lensMode = getDevice().getLensMode(); dd.elementSet = getDevice().getElementSet(); dd.acquisitionMode = getDevice().getAcquisitionMode(); dd.energyMode = getDevice().getEnergyMode(); dd.detectorMode = getDevice().getDetectorMode(); dd.pass = getDevice().getPassEnergy(); dd.low = getDevice().getLowEnergy().getValue(); dd.center = getDevice().getCenterEnergy().getValue(); dd.high = getDevice().getHighEnergy().getValue(); dd.step = getDevice().getEnergyStepSize().getValue(); dd.width = getDevice().getEnergyWidth().getValue(); dd.count = getDevice().getEnergyCount().getValue(); dd.lowTY = getDevice().getLowThetaY().getValue(); dd.centerTY = getDevice().getCenterThetaY().getValue(); dd.highTY = getDevice().getHighThetaY().getValue(); dd.stepTY = getDevice().getThetaYStepSize().getValue(); dd.widthTY = getDevice().getThetaYWidth().getValue(); dd.countTY = getDevice().getThetaYCount().getValue(); dd.lowTX = getDevice().getLowThetaX().getValue(); dd.centerTX = getDevice().getCenterThetaX().getValue(); dd.highTX = getDevice().getHighThetaX().getValue(); dd.stepTX = getDevice().getThetaXStepSize().getValue(); dd.widthTX = getDevice().getThetaXWidth().getValue(); dd.countTX = getDevice().getThetaXCount().getValue(); dd.current = getDevice().getCurrentStep().getValue().intValue(); dd.total = getDevice().getTotalSteps().getValue().intValue(); dd.slices = getDevice().getSlices().getValue(); dd.channels = getDevice().getChannels().getValue().intValue(); dd.status = new String( getDevice().getStatus().getValue()); dd.state = getDevice().getDetectorState().getValue(); dd.imageCount = getDevice().getImageCounter().getValue(); dd.excit = getDevice().getExcitationEnergy().getValue(); dd.est = getDevice().getEstTime().getValue(); } catch (Exception ex) { getLogger().log(Level.WARNING, null, ex); } 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) { try { DeviceData dd = (DeviceData) data; updateValueField(valueLow, dd.low); updateValueField(valueCenter, dd.center); updateValueField(valueHigh, dd.high); updateValueField(valueStep, dd.step); updateValueField(valueWidth, dd.width); updateValueField(valueCount, dd.count); updateValueField(valueLowTY, dd.lowTY); updateValueField(valueCenterTY, dd.centerTY); updateValueField(valueHighTY, dd.highTY); updateValueField(valueStepTY, dd.stepTY); updateValueField(valueWidthTY, dd.widthTY); updateValueField(valueCountTY, dd.countTY); updateValueField(valueLowTX, dd.lowTX); updateValueField(valueCenterTX, dd.centerTX); updateValueField(valueHighTX, dd.highTX); updateValueField(valueStepTX, dd.stepTX); updateValueField(valueWidthTX, dd.widthTX); updateValueField(valueCountTX, dd.countTX); updateValueField(valueSlices, dd.slices); updateValueField(valueChannels, dd.channels); updateValueField(valueTotal, dd.total); updateValueField(valueCurrent, dd.current); updateValueField(valueImageCounter, dd.imageCount); updateValueField(valuExcit, dd.excit); updateComboField(comboLens, dd.lensMode); updateComboField(comboAcquisition, dd.acquisitionMode); updateComboField(comboDetector, dd.detectorMode); updateComboField(comboEnergy, dd.energyMode); updateComboField(comboElement, dd.elementSet); updateComboField(comboPass, dd.pass); textStatus.setText(String.valueOf(dd.status)); textState.setText(String.valueOf(dd.state)); textEst.setText(String.valueOf(dd.est)); progress.setValue((int) (getDevice().getProgress() * 1000)); } catch (Exception ex) { getLogger().log(Level.WARNING, null, ex); } } /** * 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() { cameraPanel = new ch.psi.pshell.swing.CameraPanel(); scientaPanel = new javax.swing.JPanel(); jPanel6 = 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(); 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(); jLabel15 = new javax.swing.JLabel(); valueWidth = new ch.psi.pshell.swing.ValueSelection(); valueCount = new ch.psi.pshell.swing.ValueSelection(); jLabel20 = new javax.swing.JLabel(); jLabel33 = new javax.swing.JLabel(); valueStep = new ch.psi.pshell.swing.ValueSelection(); jLabel11 = new javax.swing.JLabel(); comboPass = new javax.swing.JComboBox(); jPanel10 = new javax.swing.JPanel(); jLabel34 = new javax.swing.JLabel(); valueLowTY = new ch.psi.pshell.swing.ValueSelection(); jLabel35 = new javax.swing.JLabel(); valueCenterTY = new ch.psi.pshell.swing.ValueSelection(); jLabel36 = new javax.swing.JLabel(); valueHighTY = new ch.psi.pshell.swing.ValueSelection(); jLabel37 = new javax.swing.JLabel(); valueWidthTY = new ch.psi.pshell.swing.ValueSelection(); valueCountTY = new ch.psi.pshell.swing.ValueSelection(); jLabel38 = new javax.swing.JLabel(); jLabel39 = new javax.swing.JLabel(); valueStepTY = new ch.psi.pshell.swing.ValueSelection(); jPanel11 = new javax.swing.JPanel(); jLabel40 = new javax.swing.JLabel(); jLabel41 = new javax.swing.JLabel(); valueCenterTX = new ch.psi.pshell.swing.ValueSelection(); jLabel42 = new javax.swing.JLabel(); jLabel43 = new javax.swing.JLabel(); valueWidthTX = new ch.psi.pshell.swing.ValueSelection(); valueCountTX = new ch.psi.pshell.swing.ValueSelection(); jLabel44 = new javax.swing.JLabel(); jLabel45 = new javax.swing.JLabel(); valueStepTX = new ch.psi.pshell.swing.ValueSelection(); valueHighTX = new ch.psi.pshell.swing.ValueSelection(); valueLowTX = new ch.psi.pshell.swing.ValueSelection(); jLabel46 = new javax.swing.JLabel(); textEst = new javax.swing.JTextField(); jLabel9 = new javax.swing.JLabel(); valuExcit = new ch.psi.pshell.swing.ValueSelection(); jPanel7 = new javax.swing.JPanel(); jLabel10 = new javax.swing.JLabel(); valueSlices = new ch.psi.pshell.swing.ValueSelection(); buttonZeroSupplies = new javax.swing.JButton(); jLabel17 = new javax.swing.JLabel(); valueChannels = new ch.psi.pshell.swing.ValueSelection(); jPanel5 = new javax.swing.JPanel(); progress = new javax.swing.JProgressBar(); jLabel6 = new javax.swing.JLabel(); valueCurrent = new ch.psi.pshell.swing.ValueSelection(); jLabel16 = new javax.swing.JLabel(); valueTotal = new ch.psi.pshell.swing.ValueSelection(); jLabel7 = new javax.swing.JLabel(); jLabel18 = new javax.swing.JLabel(); valueImageCounter = new ch.psi.pshell.swing.ValueSelection(); jLabel19 = new javax.swing.JLabel(); textState = new javax.swing.JTextField(); textStatus = new javax.swing.JTextField(); cameraPanel.setBorder(null); 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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboLensActionPerformed(evt); } }); 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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboAcquisitionActionPerformed(evt); } }); jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel3.setText("Pass Energy:"); comboEnergy.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" })); comboEnergy.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboEnergyActionPerformed(evt); } }); 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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboDetectorActionPerformed(evt); } }); 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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboElementActionPerformed(evt); } }); jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder("Energy")); jLabel12.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel12.setText("Low:"); valueLow.setDecimals(3); valueLow.setShowButtons(false); jLabel13.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel13.setText("Center:"); valueCenter.setDecimals(3); valueCenter.setMinValue(0.0); valueCenter.setShowButtons(false); jLabel14.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel14.setText("High:"); valueHigh.setDecimals(3); valueHigh.setShowButtons(false); jLabel15.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel15.setText("Width:"); valueWidth.setDecimals(3); valueWidth.setEnabled(false); valueWidth.setMaxValue(2000.0); valueWidth.setMinValue(0.0); valueWidth.setShowButtons(false); valueCount.setDecimals(3); valueCount.setEnabled(false); valueCount.setMaxValue(2000.0); valueCount.setShowButtons(false); jLabel20.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel20.setText("Count:"); jLabel33.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel33.setText("Step:"); valueStep.setDecimals(3); valueStep.setMaxValue(2000.0); valueStep.setMinValue(0.0); valueStep.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.TRAILING) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel15) .addComponent(jLabel14) .addComponent(jLabel13) .addComponent(jLabel12) .addComponent(jLabel20, javax.swing.GroupLayout.Alignment.TRAILING)) .addComponent(jLabel33)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(valueWidth, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueCount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .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(valueLow, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueStep, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenter, valueCount, valueHigh, valueLow, valueStep, valueWidth}); jPanel4Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel12, jLabel13, jLabel14, jLabel15, jLabel20, jLabel33}); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel4Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .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.LEADING) .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.LEADING) .addComponent(jLabel14) .addComponent(valueHigh, 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.LEADING) .addComponent(jLabel33) .addComponent(valueStep, 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(jLabel15) .addComponent(valueWidth, 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.TRAILING) .addComponent(valueCount, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel20)) .addContainerGap()) ); 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.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { comboPassActionPerformed(evt); } }); jPanel10.setBorder(javax.swing.BorderFactory.createTitledBorder("Theta Y")); jLabel34.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel34.setText("Low:"); valueLowTY.setDecimals(3); valueLowTY.setMaxValue(1000.0); valueLowTY.setMinValue(-1000.0); valueLowTY.setShowButtons(false); jLabel35.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel35.setText("Center:"); valueCenterTY.setDecimals(3); valueCenterTY.setMaxValue(1000.0); valueCenterTY.setMinValue(-1000.0); valueCenterTY.setShowButtons(false); jLabel36.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel36.setText("High:"); valueHighTY.setDecimals(3); valueHighTY.setMaxValue(1000.0); valueHighTY.setMinValue(-1000.0); valueHighTY.setShowButtons(false); jLabel37.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel37.setText("Width:"); valueWidthTY.setDecimals(3); valueWidthTY.setEnabled(false); valueWidthTY.setMaxValue(2000.0); valueWidthTY.setMinValue(0.0); valueWidthTY.setShowButtons(false); valueCountTY.setDecimals(3); valueCountTY.setEnabled(false); valueCountTY.setMaxValue(2000.0); valueCountTY.setMinValue(0.0); valueCountTY.setShowButtons(false); jLabel38.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel38.setText("Count:"); jLabel39.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel39.setText("Step:"); valueStepTY.setDecimals(3); valueStepTY.setMaxValue(2000.0); valueStepTY.setMinValue(0.0); valueStepTY.setShowButtons(false); javax.swing.GroupLayout jPanel10Layout = new javax.swing.GroupLayout(jPanel10); jPanel10.setLayout(jPanel10Layout); jPanel10Layout.setHorizontalGroup( jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel10Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel34) .addComponent(jLabel35) .addComponent(jLabel36) .addComponent(jLabel39) .addComponent(jLabel37) .addComponent(jLabel38)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(valueWidthTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueCountTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueHighTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueCenterTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueLowTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueStepTY, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jPanel10Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel34, jLabel35, jLabel36, jLabel37, jLabel38, jLabel39}); jPanel10Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenterTY, valueCountTY, valueHighTY, valueLowTY, valueStepTY, valueWidthTY}); jPanel10Layout.setVerticalGroup( jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel10Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel34) .addComponent(valueLowTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel35) .addComponent(valueCenterTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel36) .addComponent(valueHighTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel39) .addComponent(valueStepTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel37) .addComponent(valueWidthTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel10Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(valueCountTY, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel38)) .addContainerGap()) ); jPanel11.setBorder(javax.swing.BorderFactory.createTitledBorder("Theta X")); jLabel40.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel40.setText("Low:"); jLabel41.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel41.setText("Center:"); valueCenterTX.setDecimals(3); valueCenterTX.setMaxValue(1000.0); valueCenterTX.setMinValue(-1000.0); valueCenterTX.setShowButtons(false); jLabel42.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel42.setText("High:"); jLabel43.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel43.setText("Width:"); valueWidthTX.setDecimals(3); valueWidthTX.setEnabled(false); valueWidthTX.setMaxValue(2000.0); valueWidthTX.setMinValue(0.0); valueWidthTX.setShowButtons(false); valueCountTX.setDecimals(3); valueCountTX.setEnabled(false); valueCountTX.setMaxValue(2000.0); valueCountTX.setMinValue(0.0); valueCountTX.setShowButtons(false); jLabel44.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel44.setText("Count:"); jLabel45.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel45.setText("Step:"); valueStepTX.setDecimals(3); valueStepTX.setEnabled(false); valueStepTX.setMaxValue(2000.0); valueStepTX.setMinValue(0.0); valueStepTX.setShowButtons(false); valueHighTX.setDecimals(3); valueHighTX.setEnabled(false); valueHighTX.setMaxValue(1000.0); valueHighTX.setMinValue(-1000.0); valueHighTX.setShowButtons(false); valueLowTX.setDecimals(3); valueLowTX.setEnabled(false); valueLowTX.setMaxValue(1000.0); valueLowTX.setMinValue(-1000.0); valueLowTX.setShowButtons(false); javax.swing.GroupLayout jPanel11Layout = new javax.swing.GroupLayout(jPanel11); jPanel11.setLayout(jPanel11Layout); jPanel11Layout.setHorizontalGroup( jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel42, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel43, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel44, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel45, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel40, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel41, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(valueCenterTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueStepTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(valueHighTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(valueLowTX, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(valueWidthTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueCountTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap()) ); jPanel11Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel40, jLabel41, jLabel42, jLabel43, jLabel44, jLabel45}); jPanel11Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCenterTX, valueCountTX, valueHighTX, valueLowTX, valueStepTX, valueWidthTX}); jPanel11Layout.setVerticalGroup( jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel11Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel40) .addComponent(valueLowTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel41) .addComponent(valueCenterTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel42) .addComponent(valueHighTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel45) .addComponent(valueStepTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel43) .addComponent(valueWidthTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel11Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(valueCountTX, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel44)) .addContainerGap()) ); jLabel46.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel46.setText("Time Estimated:"); textEst.setEditable(false); jLabel9.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel9.setText("Excit.:"); valuExcit.setDecimals(3); valuExcit.setMaxValue(2000.0); valuExcit.setMinValue(0.0); valuExcit.setShowButtons(false); 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) .addGroup(jPanel1Layout.createSequentialGroup() .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel9, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .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(comboEnergy, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel5) .addComponent(jLabel4))) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addGap(0, 0, Short.MAX_VALUE) .addComponent(jLabel11)) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup() .addComponent(valuExcit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jLabel46))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(comboPass, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(comboElement, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(comboDetector, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(textEst, javax.swing.GroupLayout.PREFERRED_SIZE, 68, 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, comboPass, textEst, valuExcit}); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .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))) .addGroup(jPanel1Layout.createSequentialGroup() .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)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(jPanel1Layout.createSequentialGroup() .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, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(valuExcit, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGroup(jPanel1Layout.createSequentialGroup() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(comboPass, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel11)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel46) .addComponent(textEst, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel9)))) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGap(4, 4, 4)) ); jPanel7.setBorder(javax.swing.BorderFactory.createTitledBorder("Detector")); jLabel10.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel10.setText("Slices:"); valueSlices.setDecimals(0); valueSlices.setMaxValue(10000.0); valueSlices.setMinValue(0.0); valueSlices.setShowButtons(false); buttonZeroSupplies.setText("Zero Supplies"); buttonZeroSupplies.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonZeroSuppliesActionPerformed(evt); } }); jLabel17.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING); jLabel17.setText("Channels:"); valueChannels.setDecimals(0); valueChannels.setMaxValue(10000.0); valueChannels.setMinValue(0.0); valueChannels.setShowButtons(false); javax.swing.GroupLayout jPanel7Layout = new javax.swing.GroupLayout(jPanel7); jPanel7.setLayout(jPanel7Layout); jPanel7Layout.setHorizontalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel7Layout.createSequentialGroup() .addContainerGap() .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) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel17) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueChannels, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, Short.MAX_VALUE) .addComponent(buttonZeroSupplies, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addContainerGap()) ); jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel10, jLabel17}); jPanel7Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueChannels, valueSlices}); jPanel7Layout.setVerticalGroup( jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel7Layout.createSequentialGroup() .addGap(4, 4, 4) .addGroup(jPanel7Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel10) .addComponent(valueSlices, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel17) .addComponent(valueChannels, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(buttonZeroSupplies)) .addContainerGap()) ); jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder("Progress")); progress.setMaximum(1000); jLabel6.setText("Current step:"); valueCurrent.setDecimals(0); valueCurrent.setEnabled(false); valueCurrent.setMaxValue(100000.0); valueCurrent.setMinValue(0.0); valueCurrent.setShowButtons(false); jLabel16.setText("Total:"); valueTotal.setDecimals(0); valueTotal.setEnabled(false); valueTotal.setMaxValue(100000.0); valueTotal.setMinValue(0.0); valueTotal.setShowButtons(false); jLabel7.setText("Det. State:"); jLabel18.setText("Image Counter:"); valueImageCounter.setDecimals(0); valueImageCounter.setEnabled(false); valueImageCounter.setMaxValue(100000.0); valueImageCounter.setMinValue(0.0); valueImageCounter.setShowButtons(false); jLabel19.setText("Status:"); textState.setEditable(false); textStatus.setEditable(false); javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); jPanel5.setLayout(jPanel5Layout); jPanel5Layout.setHorizontalGroup( jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel6) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(jLabel16) .addGap(12, 12, 12) .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(18, 18, 18) .addComponent(progress, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel19) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(textStatus)) .addGroup(jPanel5Layout.createSequentialGroup() .addComponent(jLabel7) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(textState) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jLabel18) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(valueImageCounter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap()) ); jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jLabel19, jLabel6, jLabel7}); jPanel5Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {valueCurrent, valueImageCounter, valueTotal}); jPanel5Layout.setVerticalGroup( jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel5Layout.createSequentialGroup() .addContainerGap() .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel7) .addComponent(jLabel18) .addComponent(valueImageCounter, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(textState, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel19) .addComponent(textStatus, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER) .addComponent(jLabel6) .addComponent(valueCurrent, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(valueTotal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(progress, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel16)) .addContainerGap()) ); javax.swing.GroupLayout jPanel6Layout = new javax.swing.GroupLayout(jPanel6); jPanel6.setLayout(jPanel6Layout); jPanel6Layout.setHorizontalGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel6Layout.setVerticalGroup( jPanel6Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel6Layout.createSequentialGroup() .addGap(0, 0, 0) .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jPanel7, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, 0) .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); javax.swing.GroupLayout scientaPanelLayout = new javax.swing.GroupLayout(scientaPanel); scientaPanel.setLayout(scientaPanelLayout); scientaPanelLayout.setHorizontalGroup( scientaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); scientaPanelLayout.setVerticalGroup( scientaPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jPanel6, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(cameraPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(scientaPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(cameraPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(scientaPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); }// //GEN-END:initComponents private void comboLensActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboLensActionPerformed try { if (!isBackgroundUpdate()) { Scienta.LensMode mode = (Scienta.LensMode) comboLens.getSelectedItem(); if (mode != null) { getDevice().setLensMode(mode); } } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboLensActionPerformed private void comboAcquisitionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboAcquisitionActionPerformed try { if (!isBackgroundUpdate()) { Scienta.AcquisitionMode mode = (Scienta.AcquisitionMode) comboAcquisition.getSelectedItem(); if (mode != null) { getDevice().setAcquisitionMode(mode); } } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboAcquisitionActionPerformed private void comboEnergyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboEnergyActionPerformed try { if (!isBackgroundUpdate()) { Scienta.EnergyMode mode = (Scienta.EnergyMode) comboEnergy.getSelectedItem(); if (mode != null) { getDevice().setEnergyMode(mode); } } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboEnergyActionPerformed private void comboDetectorActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboDetectorActionPerformed try { if (!isBackgroundUpdate()) { Scienta.DetectorMode mode = (Scienta.DetectorMode) comboDetector.getSelectedItem(); if (mode != null) { getDevice().setDetectorMode(mode); } } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboDetectorActionPerformed private void comboElementActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboElementActionPerformed try { if (!isBackgroundUpdate()) { Scienta.ElementSet mode = (Scienta.ElementSet) comboElement.getSelectedItem(); if (mode != null) { getDevice().setElementSet(mode); } } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboElementActionPerformed private void comboPassActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_comboPassActionPerformed try { if (!isBackgroundUpdate()) { int val = (int) comboPass.getSelectedItem(); getDevice().setPassEnergy(val); } } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_comboPassActionPerformed private void buttonZeroSuppliesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonZeroSuppliesActionPerformed try { getDevice().zeroSupplies(); } catch (Exception ex) { showException(ex); } }//GEN-LAST:event_buttonZeroSuppliesActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton buttonZeroSupplies; private ch.psi.pshell.swing.CameraPanel cameraPanel; 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 jLabel15; private javax.swing.JLabel jLabel16; private javax.swing.JLabel jLabel17; private javax.swing.JLabel jLabel18; private javax.swing.JLabel jLabel19; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel20; private javax.swing.JLabel jLabel21; private javax.swing.JLabel jLabel22; private javax.swing.JLabel jLabel23; private javax.swing.JLabel jLabel24; private javax.swing.JLabel jLabel25; private javax.swing.JLabel jLabel26; private javax.swing.JLabel jLabel27; private javax.swing.JLabel jLabel28; private javax.swing.JLabel jLabel29; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel30; private javax.swing.JLabel jLabel31; private javax.swing.JLabel jLabel32; private javax.swing.JLabel jLabel33; private javax.swing.JLabel jLabel34; private javax.swing.JLabel jLabel35; private javax.swing.JLabel jLabel36; private javax.swing.JLabel jLabel37; private javax.swing.JLabel jLabel38; private javax.swing.JLabel jLabel39; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel40; private javax.swing.JLabel jLabel41; private javax.swing.JLabel jLabel42; private javax.swing.JLabel jLabel43; private javax.swing.JLabel jLabel44; private javax.swing.JLabel jLabel45; private javax.swing.JLabel jLabel46; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel9; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel10; private javax.swing.JPanel jPanel11; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JPanel jPanel6; private javax.swing.JPanel jPanel7; private javax.swing.JPanel jPanel8; private javax.swing.JPanel jPanel9; private javax.swing.JProgressBar progress; private javax.swing.JPanel scientaPanel; private javax.swing.JTextField textEst; private javax.swing.JTextField textState; private javax.swing.JTextField textStatus; private ch.psi.pshell.swing.ValueSelection valuExcit; private ch.psi.pshell.swing.ValueSelection valueCenter; private ch.psi.pshell.swing.ValueSelection valueCenter1; private ch.psi.pshell.swing.ValueSelection valueCenter2; private ch.psi.pshell.swing.ValueSelection valueCenterTX; private ch.psi.pshell.swing.ValueSelection valueCenterTY; private ch.psi.pshell.swing.ValueSelection valueChannels; private ch.psi.pshell.swing.ValueSelection valueCount; private ch.psi.pshell.swing.ValueSelection valueCount1; private ch.psi.pshell.swing.ValueSelection valueCount2; private ch.psi.pshell.swing.ValueSelection valueCountTX; private ch.psi.pshell.swing.ValueSelection valueCountTY; private ch.psi.pshell.swing.ValueSelection valueCurrent; private ch.psi.pshell.swing.ValueSelection valueHigh; private ch.psi.pshell.swing.ValueSelection valueHigh1; private ch.psi.pshell.swing.ValueSelection valueHigh2; private ch.psi.pshell.swing.ValueSelection valueHighTX; private ch.psi.pshell.swing.ValueSelection valueHighTY; private ch.psi.pshell.swing.ValueSelection valueImageCounter; private ch.psi.pshell.swing.ValueSelection valueLow; private ch.psi.pshell.swing.ValueSelection valueLow1; private ch.psi.pshell.swing.ValueSelection valueLow2; private ch.psi.pshell.swing.ValueSelection valueLowTX; private ch.psi.pshell.swing.ValueSelection valueLowTY; private ch.psi.pshell.swing.ValueSelection valueSize1; private ch.psi.pshell.swing.ValueSelection valueSize2; private ch.psi.pshell.swing.ValueSelection valueSlices; private ch.psi.pshell.swing.ValueSelection valueStep; private ch.psi.pshell.swing.ValueSelection valueStepTX; private ch.psi.pshell.swing.ValueSelection valueStepTY; private ch.psi.pshell.swing.ValueSelection valueTotal; private ch.psi.pshell.swing.ValueSelection valueWidth; private ch.psi.pshell.swing.ValueSelection valueWidth1; private ch.psi.pshell.swing.ValueSelection valueWidth2; private ch.psi.pshell.swing.ValueSelection valueWidthTX; private ch.psi.pshell.swing.ValueSelection valueWidthTY; // End of variables declaration//GEN-END:variables }