📄 ecgparamwindow.java
字号:
/* * paramWindow.java * * See EcgLicense.txt for License terms. *//** * * @author Mauricio Villarroel (m.villarroel@acm.og) */import javax.swing.JComponent;import javax.swing.JTextField;import javax.swing.JComponent;import javax.swing.InputVerifier;import javax.swing.JOptionPane;import javax.swing.JInternalFrame;import java.io.*;import javax.swing.JFileChooser;public class EcgParamWindow extends JInternalFrame { /** Creates new form paramWindow */ public EcgParamWindow(EcgParam parameters, EcgLogWindow logOb) { initComponents(); this.setSize(450,410); paramOb = parameters; ecgLog = logOb; resetParameters(); } /* * Set the source for the parameter object */ public void setParamOb(EcgParam parameters){ paramOb = parameters; resetParameters(); } /* * Reste and get all parameters */ private void resetParameters(){ paramOb.resetParameters(); /* General Intergace parameters */ txtN.setText(Integer.toString(paramOb.getN())); txtSfEcg.setText(Integer.toString(paramOb.getSfEcg())); txtSf.setText(Integer.toString(paramOb.getSf())); txtANoise.setText(Double.toString(paramOb.getANoise())); txtHrMean.setText(Double.toString(paramOb.getHrMean())); txtHrStd.setText(Double.toString(paramOb.getHrStd())); txtSeed.setText(Integer.toString(paramOb.getSeed())); txtAmplitude.setText(Double.toString(paramOb.getAmplitude())); /* Spectral Characteristics parameters */ txtFLo.setText(Double.toString(paramOb.getFLo())); txtFHi.setText(Double.toString(paramOb.getFHi())); txtFLoStd.setText(Double.toString(paramOb.getFLoStd())); txtFHiStd.setText(Double.toString(paramOb.getFHiStd())); txtLfHfRatio.setText(Double.toString(paramOb.getLfHfRatio())); /* * ECG morphology: Order of extrema: [P Q R S T] */ //data tables tiTable.getModel().setValueAt(new Double(paramOb.getTheta(0)), 0, 0); tiTable.getModel().setValueAt(new Double(paramOb.getTheta(1)), 1, 0); tiTable.getModel().setValueAt(new Double(paramOb.getTheta(2)), 2, 0); tiTable.getModel().setValueAt(new Double(paramOb.getTheta(3)), 3, 0); tiTable.getModel().setValueAt(new Double(paramOb.getTheta(4)), 4, 0); aiTable.getModel().setValueAt(new Double(paramOb.getA(0)), 0, 0); aiTable.getModel().setValueAt(new Double(paramOb.getA(1)), 1, 0); aiTable.getModel().setValueAt(new Double(paramOb.getA(2)), 2, 0); aiTable.getModel().setValueAt(new Double(paramOb.getA(3)), 3, 0); aiTable.getModel().setValueAt(new Double(paramOb.getA(4)), 4, 0); biTable.getModel().setValueAt(new Double(paramOb.getB(0)), 0, 0); biTable.getModel().setValueAt(new Double(paramOb.getB(1)), 1, 0); biTable.getModel().setValueAt(new Double(paramOb.getB(2)), 2, 0); biTable.getModel().setValueAt(new Double(paramOb.getB(3)), 3, 0); biTable.getModel().setValueAt(new Double(paramOb.getB(4)), 4, 0); } /** 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. */ private void initComponents() {//GEN-BEGIN:initComponents jPanel2 = new javax.swing.JPanel(); paramTabbedPane = new javax.swing.JTabbedPane(); generalInterfacePanel = new javax.swing.JPanel(); txtSf = new javax.swing.JTextField(); lblSf = new javax.swing.JLabel(); lblN = new javax.swing.JLabel(); txtN = new javax.swing.JTextField(); lblHrMean = new javax.swing.JLabel(); txtHrMean = new javax.swing.JTextField(); lblHrStd = new javax.swing.JLabel(); txtHrStd = new javax.swing.JTextField(); lblAmplitude = new javax.swing.JLabel(); txtAmplitude = new javax.swing.JTextField(); lblGeneralTitle = new javax.swing.JLabel(); lblANoise = new javax.swing.JLabel(); txtANoise = new javax.swing.JTextField(); lblSfEcg = new javax.swing.JLabel(); txtSfEcg = new javax.swing.JTextField(); lblSeed = new javax.swing.JLabel(); txtSeed = new javax.swing.JTextField(); spectralCharacteristicsPanel = new javax.swing.JPanel(); lblSpectralTitle = new javax.swing.JLabel(); lblLfHfRatio = new javax.swing.JLabel(); txtLfHfRatio = new javax.swing.JTextField(); lblFLo = new javax.swing.JLabel(); txtFLo = new javax.swing.JTextField(); lblFHi = new javax.swing.JLabel(); txtFHi = new javax.swing.JTextField(); lblFLoStd = new javax.swing.JLabel(); lblFHiStd = new javax.swing.JLabel(); txtFHiStd = new javax.swing.JTextField(); txtFLoStd = new javax.swing.JTextField(); extremaPanel = new javax.swing.JPanel(); lblMorphologyTitle = new javax.swing.JLabel(); tiScrollPane = new javax.swing.JScrollPane(); tiTable = new javax.swing.JTable(); aiScrollPane = new javax.swing.JScrollPane(); aiTable = new javax.swing.JTable(); biScrollPane = new javax.swing.JScrollPane(); biTable = new javax.swing.JTable(); ExtremaLabelScrollPane = new javax.swing.JScrollPane(); ExtremaLabelTable = new javax.swing.JTable(); closeParamDialogButton = new javax.swing.JButton(); resetParamDialogButton = new javax.swing.JButton(); saveButton = new javax.swing.JButton(); applyButton = new javax.swing.JButton(); setClosable(true); setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE); setIconifiable(true); setResizable(true); setTitle("Set parameters for ECG"); jPanel2.setLayout(null); paramTabbedPane.setBorder(new javax.swing.border.BevelBorder(javax.swing.border.BevelBorder.RAISED)); paramTabbedPane.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT); paramTabbedPane.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); generalInterfacePanel.setLayout(null); generalInterfacePanel.setName("generalInterface"); txtSf.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtSf.setToolTipText(""); generalInterfacePanel.add(txtSf); txtSf.setBounds(280, 110, 110, 20); lblSf.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblSf.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblSf.setText("Internal Sampling frequency [Hz]"); generalInterfacePanel.add(lblSf); lblSf.setBounds(10, 110, 250, 14); lblN.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblN.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblN.setText("Approximate number of heart beats"); generalInterfacePanel.add(lblN); lblN.setBounds(10, 50, 250, 14); txtN.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtN.setToolTipText(""); generalInterfacePanel.add(txtN); txtN.setBounds(280, 50, 110, 20); lblHrMean.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblHrMean.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblHrMean.setText("Heart rate mean [bpm]"); generalInterfacePanel.add(lblHrMean); lblHrMean.setBounds(10, 170, 250, 14); txtHrMean.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtHrMean.setToolTipText(""); generalInterfacePanel.add(txtHrMean); txtHrMean.setBounds(280, 170, 110, 20); lblHrStd.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblHrStd.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblHrStd.setText("Heart rate standard deviation [bpm]"); generalInterfacePanel.add(lblHrStd); lblHrStd.setBounds(10, 200, 250, 14); txtHrStd.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtHrStd.setToolTipText(""); generalInterfacePanel.add(txtHrStd); txtHrStd.setBounds(280, 200, 110, 20); lblAmplitude.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblAmplitude.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblAmplitude.setText("Plot area Amplitude"); generalInterfacePanel.add(lblAmplitude); lblAmplitude.setBounds(10, 260, 250, 14); txtAmplitude.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtAmplitude.setToolTipText(""); generalInterfacePanel.add(txtAmplitude); txtAmplitude.setBounds(280, 260, 110, 20); lblGeneralTitle.setFont(new java.awt.Font("MS Sans Serif", 1, 11)); lblGeneralTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblGeneralTitle.setText("General Interface Parameters"); generalInterfacePanel.add(lblGeneralTitle); lblGeneralTitle.setBounds(40, 10, 350, 20); lblANoise.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblANoise.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblANoise.setText("Amplitude of additive uniform noise [mV]"); lblANoise.setToolTipText(""); generalInterfacePanel.add(lblANoise); lblANoise.setBounds(10, 140, 250, 14); txtANoise.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtANoise.setToolTipText(""); txtANoise.setName("Anoise"); generalInterfacePanel.add(txtANoise); txtANoise.setBounds(280, 140, 110, 20); lblSfEcg.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblSfEcg.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblSfEcg.setText("ECG Sampling Frequency [Hz]"); generalInterfacePanel.add(lblSfEcg); lblSfEcg.setBounds(10, 80, 250, 14); txtSfEcg.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtSfEcg.setToolTipText(""); generalInterfacePanel.add(txtSfEcg); txtSfEcg.setBounds(280, 80, 110, 20); lblSeed.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblSeed.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblSeed.setText("Seed"); generalInterfacePanel.add(lblSeed); lblSeed.setBounds(10, 230, 250, 14); txtSeed.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtSeed.setToolTipText(""); generalInterfacePanel.add(txtSeed); txtSeed.setBounds(280, 230, 110, 20); paramTabbedPane.addTab("General Interface", generalInterfacePanel); spectralCharacteristicsPanel.setLayout(null); spectralCharacteristicsPanel.setName("spectralCharacteristics"); lblSpectralTitle.setFont(new java.awt.Font("MS Sans Serif", 1, 11)); lblSpectralTitle.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); lblSpectralTitle.setText("Spectral Characteristics Parameters"); spectralCharacteristicsPanel.add(lblSpectralTitle); lblSpectralTitle.setBounds(30, 10, 350, 20); lblLfHfRatio.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblLfHfRatio.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblLfHfRatio.setText("LF/HF ratio"); spectralCharacteristicsPanel.add(lblLfHfRatio); lblLfHfRatio.setBounds(20, 170, 250, 14); txtLfHfRatio.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtLfHfRatio.setToolTipText("Low Frequency / High Frequency ratio"); spectralCharacteristicsPanel.add(txtLfHfRatio); txtLfHfRatio.setBounds(290, 170, 110, 20); lblFLo.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblFLo.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblFLo.setText("Low frequency [Hz]"); spectralCharacteristicsPanel.add(lblFLo); lblFLo.setBounds(20, 50, 250, 14); txtFLo.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtFLo.setToolTipText(""); spectralCharacteristicsPanel.add(txtFLo); txtFLo.setBounds(290, 50, 110, 20); lblFHi.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblFHi.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblFHi.setText("High frequency [Hz]"); spectralCharacteristicsPanel.add(lblFHi); lblFHi.setBounds(20, 80, 250, 14); txtFHi.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtFHi.setToolTipText(""); spectralCharacteristicsPanel.add(txtFHi); txtFHi.setBounds(290, 80, 110, 20); lblFLoStd.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblFLoStd.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblFLoStd.setText("Low frequency standard deviation [Hz]"); spectralCharacteristicsPanel.add(lblFLoStd); lblFLoStd.setBounds(20, 110, 250, 14); lblFHiStd.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); lblFHiStd.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT); lblFHiStd.setText("High frequency standard deviation [Hz]"); lblFHiStd.setToolTipText(""); spectralCharacteristicsPanel.add(lblFHiStd); lblFHiStd.setBounds(20, 140, 250, 14); txtFHiStd.setFont(new java.awt.Font("MS Sans Serif", 0, 10)); txtFHiStd.setToolTipText(""); txtFHiStd.setName("Anoise");
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -