📄 ecgexportwindow.java
字号:
/* * EcgExportWindow.java * * See EcgLicense.txt for License terms. *//** * * @author Mauricio Villarroel (m.villarroel@acm.og) */import java.io.*;import javax.swing.JFileChooser;import javax.swing.JOptionPane;public class EcgExportWindow extends javax.swing.JDialog { /** Creates new form EcgExportWindow */ public EcgExportWindow(java.awt.Frame parent, boolean modal, EcgParam parameters, EcgCalc ecgCalcOb, EcgLogWindow logOb) { super(parent, modal); initComponents(); paramOb = parameters; calcOb = ecgCalcOb; ecgLog = logOb; initWindow(); } private void initWindow(){ this.setSize(380, 345); } /** 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 mainPanel = new javax.swing.JPanel(); exportFormatPanel = new javax.swing.JPanel(); csvRB = new javax.swing.JRadioButton(); tabRB = new javax.swing.JRadioButton(); otherRB = new javax.swing.JRadioButton(); txtOtherChar = new javax.swing.JTextField(); jLabel1 = new javax.swing.JLabel(); browseButton = new javax.swing.JButton(); exportButton = new javax.swing.JButton(); CloseButton = new javax.swing.JButton(); exportFile = new javax.swing.JTextArea(); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); mainPanel.setLayout(null); exportFormatPanel.setLayout(null); exportFormatPanel.setBorder(new javax.swing.border.TitledBorder("Choose export format: ")); csvRB.setSelected(true); csvRB.setText("Comma Separated Value (CSV)"); exportFormatPanel.add(csvRB); csvRB.setBounds(20, 20, 230, 23); tabRB.setText("Tab Separted"); exportFormatPanel.add(tabRB); tabRB.setBounds(20, 50, 170, 23); otherRB.setText("Other Character:"); exportFormatPanel.add(otherRB); otherRB.setBounds(20, 80, 120, 23); exportFormatPanel.add(txtOtherChar); txtOtherChar.setBounds(140, 80, 20, 21); mainPanel.add(exportFormatPanel); exportFormatPanel.setBounds(10, 10, 340, 120); jLabel1.setText("Export Path:"); mainPanel.add(jLabel1); jLabel1.setBounds(13, 150, 120, 15); browseButton.setText("Browse..."); browseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { browseButtonActionPerformed(evt); } }); mainPanel.add(browseButton); browseButton.setBounds(247, 140, 100, 25); exportButton.setText("Export Data"); exportButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { exportButtonActionPerformed(evt); } }); mainPanel.add(exportButton); exportButton.setBounds(140, 280, 120, 25); CloseButton.setText("Close"); CloseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { CloseButtonActionPerformed(evt); } }); mainPanel.add(CloseButton); CloseButton.setBounds(270, 280, 73, 25); exportFile.setEditable(false); exportFile.setLineWrap(true); mainPanel.add(exportFile); exportFile.setBounds(13, 173, 333, 90); getContentPane().add(mainPanel, java.awt.BorderLayout.CENTER); pack(); }//GEN-END:initComponents private void CloseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_CloseButtonActionPerformed closeWindow(); }//GEN-LAST:event_CloseButtonActionPerformed private void exportButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_exportButtonActionPerformed this.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.WAIT_CURSOR)); if(file != null) { char car; /* lets select the column separator */ if(csvRB.isSelected()){ /* Comma separated value file */ car = ','; } else if(tabRB.isSelected()){ /* Tab separated value file */ car = '\t'; } else { /* Other separator */ car = txtOtherChar.getText().charAt(0); } //JOptionPane.showMessageDialog(this, "Separator is = '" + car + "'"); try { FileWriter fw = new FileWriter(file); fw.write("Time"+ car +"Voltage"+ car +"Peak\r\n"); for(int i= 0; i < calcOb.getEcgResultNumRows(); i++){ fw.write(Double.toString(calcOb.getEcgResultTime(i)) + car + Double.toString(calcOb.getEcgResultVoltage(i)) + car + Integer.toString(calcOb.getEcgResultPeak(i)) + "\r\n"); } fw.close(); JOptionPane.showMessageDialog(this, "it was generated " + calcOb.getEcgResultNumRows() + " rows.\nFile was saved successfully!"); } catch (IOException ioe) { throw new RuntimeException(ioe); } } else { JOptionPane.showMessageDialog(this, "You have to choose a file to save firs!"); } this.setCursor(java.awt.Cursor.getPredefinedCursor(java.awt.Cursor.DEFAULT_CURSOR)); closeWindow(); }//GEN-LAST:event_exportButtonActionPerformed private void browseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_browseButtonActionPerformed JFileChooser c = new JFileChooser(); /* Open "Save" dialog: */ int rVal = c.showSaveDialog(this); if(rVal == JFileChooser.APPROVE_OPTION) { file = c.getSelectedFile(); exportFile.setText(file.getAbsolutePath()); } if(rVal == JFileChooser.CANCEL_OPTION) { //exportPath.setText(null); exportFile.setText(null); } }//GEN-LAST:event_browseButtonActionPerformed /** * @param args the command line arguments */ /*public static void main(String args[]) { new EcgExportWindow(new javax.swing.JFrame(), true).show(); }*/ // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton CloseButton; private javax.swing.JButton browseButton; private javax.swing.JRadioButton csvRB; private javax.swing.JButton exportButton; private javax.swing.JTextArea exportFile; private javax.swing.JPanel exportFormatPanel; private javax.swing.JLabel jLabel1; private javax.swing.JPanel mainPanel; private javax.swing.JRadioButton otherRB; private javax.swing.JRadioButton tabRB; private javax.swing.JTextField txtOtherChar; // End of variables declaration//GEN-END:variables /* Object Variables */ private EcgParam paramOb; private EcgCalc calcOb; private EcgLogWindow ecgLog; private File file; private void closeWindow() { //this.setVisible(false); this.dispose(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -